Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Коориднаты корабля (https://javascript.ru/forum/misc/77230-kooridnaty-korablya.html)

Всемогущий 08.04.2019 20:12

Коориднаты корабля
 
Как узнать координаты корабля по центру ??? сам корабль не движется он всегда по центру, а остальные объекты двигаются. Как можно узнать координаты этого корабля по центру ?
если что полный код и ship есть по этому адресу: https://cloud.mail.ru/public/4TKi/5zqEx3rrs

<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>
  </body>

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 = "ship1.jpeg";
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);
	        }

Rise 09.04.2019 20:34

Цитата:

Сообщение от Всемогущий
Как можно узнать координаты этого корабля по центру ?

Вот здесь ctx.translate(400, 200), они у тебя константы 400 и 200.

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

это я знаю но я хочу узнать на каком расстоянии кораблт находится от других объектов !!! ТОЧНЕЕ его координаты по центру !

Rise 10.04.2019 18:35

Не понял, попробуй объяснить по другому.

Всемогущий 10.04.2019 19:37

Цитата:

Сообщение от Rise (Сообщение 506308)
Не понял, попробуй объяснить по другому.

скачай файл и картинку в облаке маил ру. Внимательно посмотри чтобы ты сделал чтобы узнать координаты корабля который по центру !!!!! вот как бы ты сделал игру и тебе надо чтобы корабль всегда был по центру... ? :agree: я по серверу отправляю координаты объектов которые двигаются и я хочу узнать координаты корабля !!! но как !:help: :help: :help: :help:

Rise 10.04.2019 22:44

Да смотрел я, там тоже самое что и здесь. Какой-то корабль по какому-то центру и какие-то объекты. Что за объекты, у них что нет нарицательного имени? Что за корабль, какая у него роль в игре, у объектов какая роль? Кто все эти действующие лица, как они между собой взаимодействуют, что за игра то, какой здесь сюжет? Может так хоть понятно станет, может ты представляешь то чего нет или то что так как ты вообразил не работает. А корабль итак всегда по центру у тебя, сам посмотри внимательно, он никуда не двигается.

Всемогущий 11.04.2019 08:01

Цитата:

Сообщение от Rise (Сообщение 506325)
Да смотрел я, там тоже самое что и здесь. Какой-то корабль по какому-то центру и какие-то объекты. Что за объекты, у них что нет нарицательного имени? Что за корабль, какая у него роль в игре, у объектов какая роль? Кто все эти действующие лица, как они между собой взаимодействуют, что за игра то, какой здесь сюжет? Может так хоть понятно станет, может ты представляешь то чего нет или то что так как ты вообразил не работает. А корабль итак всегда по центру у тебя, сам посмотри внимательно, он никуда не двигается.

игра на тему битвы в космосе,стрелялка. Ты прав объекты двигаются а корабль нет, но какие мне координаты на сервер передавать чтобы другой корабль узнал мое местоположение !!!! x и y это координаты объектов, например зеленый блок это x,y
!!!!!что мне передавать на сервер ! мне сначала надо узнать координаты корабля, но как ?!:(

Rise 11.04.2019 20:44

Типа камера что-ли, т.е. двигая корабль клавишами ты как бы ведешь камеру с этим кораблем по центру? А так называемые объекты это что другие игроки или метеориты? И по поводу сервера, ты сначала без него сделай чтобы играло, в том архиве что я давал должен был быть еще client-local.js, я его просто исключил, но в книге разработка начиналась с него, а затем переходила на client-multiplayer.js, эти два файла взаимозаменяемы, надо читать. Хм, а зачем другому корабль узнавать твое местоположение?

Всемогущий 12.04.2019 15:36

да подобие камеры, объекты двигаются а корабль нет!!!! но по серверу передаются не правильные координаты местоположения кораблей

Всемогущий 12.04.2019 15:38

игрок(корабль) находится в центре экрана при нажатии клавиш двигаются объекты(другие игроки и тд) при этом игрок остается в центре всегда


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