Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > Основы физики и кинематики. Арканоид


Автор: Vadim 22.12.2002, 08:21
1.Типа простейший арканоид. Короче там 3 стенки и красная площадочка, о которые стукается шарик и летит дальше. Я не представляю как это можно сделать. Ещё есть пулька (в виде шарика) - стоит на месте. Ты задаёшь параметры (угол наклона alpha и макс. силу с которой он будет взлетать вверх) через текстовые поля input и жмёшь "Огонь!" (в смысле SPACE или ENTER) и пуля взмывает ввысь и замедляется, летя по параболе. По сути енто довольно просто, т.е. используя основные законы физики и кинематики. Частично сделал - потом ступор. Интересующимся, пришлю - принимаю любые идеи.   :D  ???  ???  ???

Автор: MuToGeN 22.12.2002, 13:17
если t = кол-ву прокрученных фреймов, V0 = начальной скорости, а alpha = углу вылета, то:

(ускорение по Y) Ax = 0, если нет ветра. если есть, то равно какой-то константе, отличной от нуля

(ускорение по X) Ay = g, а g=9.8

(скорость по X) Vx = V0*cos(alpha) + Ax*t

(скорость по Y) Vy = V0*sin(alpha) + Ay*t

(координаты) в onClipEvent(enterFrame) пишешь X += Vx, Y += Vy

должно работать на 100% (может только где-то надо подправить знаки)

Автор: MuToGeN 22.12.2002, 13:26
другой (более точный) вариант с координатами:

X = X0 + Vx*t + (Ax*t*t)/2

Y = Y0 + Vy*t + (Ay*t*t)/2

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

ЗЫ X0 - начальная координата по иксу, Y0 - то же самое по Y

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)