Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Перемещение объекта из точки А в точку Б

Сообщения:  [1-10]   [11-17] 

 
 автор: Киналь   (20.06.2012 в 14:03)   письмо автору
 
   для: Trivium   (20.06.2012 в 13:25)
 

>С того, что такой x1+dX, y1+dY способ будет работать именно так.
dX != dY.

>А отличается тем, что там нет формул косинусов, пи и т.д. без которых там не обойтись.
Есть, только неявно; впрочем, раз вы свою задачу решили, то никаких проблем.

  Ответить  
 
 автор: Trivium   (20.06.2012 в 13:25)   письмо автору
 
   для: Киналь   (20.06.2012 в 13:16)
 

С того, что такой x1+dX, y1+dY способ будет работать именно так.
А отличается тем, что там нет формул косинусов, пи и т.д. без которых там не обойтись.

  Ответить  
 
 автор: Киналь   (20.06.2012 в 13:16)   письмо автору
 
   для: Trivium   (20.06.2012 в 13:09)
 

>Так это простой вариант под углом 45 градусов.
С чего вы взяли?

>Ладно, спасибо, я уже сделал по таким формулам:
Чем это отличается от того, что написал я?

  Ответить  
 
 автор: Trivium   (20.06.2012 в 13:09)   письмо автору
 
   для: Киналь   (19.06.2012 в 20:31)
 

Так это простой вариант под углом 45 градусов.
Ладно, спасибо, я уже сделал по таким формулам:

x += speed*cos(angle*(3.141592/180));
y += speed*sin(angle*(3.141592/180));

  Ответить  
 
 автор: Киналь   (19.06.2012 в 20:31)   письмо автору
 
   для: Trivium   (19.06.2012 в 17:19)
 

Теперь понятно.
Изображение движения — это, по сути, набор отдельных кадров, каждый из которых изображает отдельное положение шарика. Задаёмся начальными координатами (x1,y1), а также скоростью шарика v и направлением движения (определяем его как угол Teta между, например, горизонтальной осью и вектором скорости). Кроме того, мы знаем частоту обновления кадра (FPS). Зная FPS и v, находим, на какое расстояние S сместится шарик между двумя кадрами. Зная S и Teta, нетрудно найти приращение прямоугольных координат dX и dY. Тогда в следующем кадре шарик будет в точке (x1+dX, y1+dY). Рисуем его там. После этого проверяем, не попали ли в стенку. Если попали, то меняем угол по закону отражения, иначе оставляем как было. Также рисуем следующий кадр, и так далее.

  Ответить  
 
 автор: Trivium   (19.06.2012 в 17:19)   письмо автору
 
   для: Киналь   (19.06.2012 в 10:32)
 

Ну игра есть такая Арканоид.
Вот как она выглядит: http://www.youtube.com/watch?v=66JPDfM7V7I но только без стреляния огнём)
Шарик летит по разным траекториям, отбивается и от стен и кирпичей.
Как реализовать этот принцип движения?

  Ответить  
 
 автор: Киналь   (19.06.2012 в 10:32)   письмо автору
 
   для: Trivium   (18.06.2012 в 18:24)
 

>А какой главный-то?
По какой траектории переместить? Просто переместить ли отрисовать процесс движения?

>Не пойму это, что сложно для тех кто шарит в базовой геометрии сделать принцип передвижения шарика как в Арканоиде?
Опишите словами, что это такое. Не могу говорить за всех, но для меня "как в Арканоиде" - пустой звук, я не понимаю, что это значит.

>Но самое простое это шарик запускается из одной точки и летит по направлению к другой точке.
>Или просто линию нарисовать из одной точки в другую...
Так как он всё-таки перемещается? Движется по прямой или летит по параболе?

  Ответить  
 
 автор: Trivium   (18.06.2012 в 18:24)   письмо автору
 
   для: Киналь   (18.06.2012 в 17:45)
 

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

  Ответить  
 
 автор: Киналь   (18.06.2012 в 17:45)   письмо автору
 
   для: trivium   (18.06.2012 в 15:40)
 

Это не главный вопрос, на который от вас ждут ответа)

  Ответить  
 
 автор: trivium   (18.06.2012 в 15:40)   письмо автору
 
   для: Sfinks   (18.06.2012 в 10:25)
 

speed это скорость движения

  Ответить  

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования