Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Реализация слежки за обьектом (https://javascript.ru/forum/misc/77137-realizaciya-slezhki-za-obektom.html)

Всемогущий 29.03.2019 10:48

Реализация слежки за обьектом
 
Вот такой код у меня:
<html>
   <head>
        
       
   </head>
   <body>
       <canvas id='test' height='500' width='700' style="border:1px solid black;"> </canvas>

        <script type="text/javascript">

           var canvas  = document.getElementById("test");
           var ctx     = canvas.getContext('2d');

var x = 50;
setInterval(function() {

ctx.clearRect(0, 0, 500, 700);

ctx.fillStyle = "green"
ctx.fillRect(x,50,50,50);

ctx.fillStyle = "red"
ctx.fillRect(150,50,30,45);
x++; this.x++;
}, 100);
       </script>
   </body>
</html>


Как можно сделать слежку за красным объектом ??? чтобы какая-то функция следила за объектом,как в играх ?:help: :help:

Nexus 29.03.2019 11:22

Цитата:

Сообщение от Всемогущий
сделать слежку за красным объектом

Прямоугольник залитый красным цветом объектом назвать сложно.

Цитата:

Сообщение от Всемогущий
Как можно сделать слежку

что такое слежка?

Всемогущий 29.03.2019 11:25

Слежка это слежка за объектом, куда он перемещается и тд( КАМЕРА)
Мне надо чтобы слежка была за красным объектом чтобы какая-та функция следила куда перемещается красный объект

Всемогущий 29.03.2019 11:26

Чтобы слежка была за объектом когда объект уже не в поле зрения зеленого объекта

Всемогущий 14.04.2019 14:55

кто сделал ?!

Всемогущий 14.04.2019 21:12

ребят это очень важно для меня !!!! как сделать камеру(слежку за игроком) !!!!!!! у меня не получается сделать нормальную камеру, помогите !!!!

Malleys 15.04.2019 06:21

Вы хотите делать игру. Вам нужен игровой движок! Есть, например, Unity3D, вы можете сразу начать делать игру, а не решать, как крутить камеру, умножение матриц трансформации и т. д.

Всемогущий 15.04.2019 08:17

значит все таки нужен движок !(((((

Всемогущий 15.04.2019 16:46

жалко что никто не может сделать "камеру" на js !!!! (((( грустно(

Всемогущий 21.04.2019 17:10

пж ответтьте в этой теме, вриант решения проблемы

Всемогущий 23.04.2019 17:24

Rise вы гений !!! Где вы откопали такой замечательный код !!!! Хотя он и не весь мне понятен, вместо переменных константы и тд, но код и правда крутой !!!!!!!!!! да еще и показываются координаты корабля что я никак не мог сделать. Очень интересный и необычный код надо будет поизучать и переформатировать в удобный мне формат.Robotinput. Это ваш код ? не алгоритмы я не писал про пути и маршруты. Но можно написать чтобы было рандомное перемещение в разные стороны

Как на сайте этой игры - fightz.io там монстры двигаются в рандомном направлении

Всемогущий 23.04.2019 22:07

Сразу видно что за соседним компьютером сидит профи

Всемогущий 24.04.2019 11:03

Я вот только не понимаю как ты узнаешь координаты корабля. Я вообще так поизучал весь твой код и много всего мне непонятно :)

Всемогущий 24.04.2019 22:41

Привет Rise !!!!! как в приведенном ниже коде узнать координаты корабля которыq по центру ???!!! я не понял как ты сделал это в robotinput !
<head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   </head>
   <body>
       <canvas id='myCanvas' height='500' width='700' style="border:1px solid black;"class="invisible"> </canvas>	 
				 
<script type="text/javascript">
 
	var angle1 = 0;  
	var sp = 1;
	var x = 400;
	var y = 250;
	var speed = 1;
	var angle = 0;
	var mod = 0;
	var stop = 0;

	var canvas  = document.getElementById("myCanvas");
	var ctx     = canvas.getContext('2d');
  
ship1 = new Image();
ship1.src = "https://i.paste.pics/74f8b071f80f88d8f71df1ffa634ee38.png";
ship1.onload = game;
 
function draw() {
	
    ctx.fillStyle = "green";
    ctx.fillRect(x, y, 30, 45);

	 
    ctx.save();
    ctx.translate(400, 200);
	ctx.rotate(Math.PI / 480 * angle); 
	ctx.scale(0.5,0.5);
    ctx.drawImage(ship1, -40, -40,80,80);
    ctx.restore();
    ctx.save();
 
 ctx.font = "14px Arial";
ctx.fillStyle = "black";
ctx.fillText("x:" + Math.round(x),110,40);
ctx.fillText("y:" + Math.round(y),190,40);
 
document.onkeydown = function(event) {
    if (event.keyCode == 87 || event.keyCode == 83) {
        mod = 0; e = 1; stop = 1;}
}
document.onkeydown = function(event) {
    //console.log(event.keyCode);
    if (event.keyCode == 87) {
        mod = 1;   
    }
    if (event.keyCode == 83) {
        mod = -1;  
    }
    if (event.keyCode == 65) {
        angle -= 10;  stop = 0;
    }
    if (event.keyCode == 68) {
        angle += 10;  stop =0;
    }
    if (event.keyCode == 32) {
		
    }
  if(event.keyCode == 70){  stop = 1;}
}}

function move(){
	
	 if( stop == 0){
	x += (speed * mod) * Math.cos(Math.PI / 480 * angle);
    y += (speed * mod) * Math.sin(Math.PI / 480 * angle);
    angle1 += 0.2 * Math.PI / 180;   
	}}

function game() {
	        ctx.clearRect(0, 0, canvas.width, canvas.height);
	        draw();
	        move();
	        requestAnimationFrame(game);
	    
	}
       </script>
   </body>
</html>

рони 25.04.2019 00:23

Цитата:

Сообщение от Rise
Есть идеи

canvas Движение объектов по массиву координат

Всемогущий 25.04.2019 17:54

Цитата:

Сообщение от Rise (Сообщение 507025)
Всемогущий,
Про robotInput был просто философский вопрос обращенный к форуму. А твой вопрос и код такой же как в этой теме. Ты что ничему не учишься?

Да я задавал этот вопрос в другой теме, но не получил на него ответов. Да ctx.translate(400,200); ЭТО СМЕНА СИСТЕМЫ КООРДИНАТ ЧТОБЫ КОРАБЛЬ БЫЛ ПО ЦЕНТРУ !!! но это его координаты относительно центра !!!! но не других обьектов!!!!!1:( :( :(

Всемогущий 26.04.2019 16:37

Эххх жалко что никто не может такую проблему решить !!!!! а ведь весь код остальной игры зависит от этой проблемы !!!! Что же мне делать... никто мне нормально не объяснил толково что где как надо делать!как же другие люди делают игры ?!!!! Ведь тоже на javascript и canvas.....Rise
вот как ты сделал в роботинпат чтобы узнавались координаты корабля ?

Всемогущий 26.04.2019 20:17

эххх непонятен он мне(

Всемогущий 26.04.2019 20:25

урааа я понял как передавать координаты по серверу !!!! yesssss !!!!!!! наконец-то я решил эту тупую проблему !!!!! урааааааа
Тема закрыта


Часовой пояс GMT +3, время: 18:33.