![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Первый вопрос.
Народ, как лучше делать стенки???? _root.onEnterFrame = function() { if(ball.hitTest(leftWall)) { ball._x -= speedBall } } _root.onEnterFrame = function() { if(ball.hitTest(leftWall)) { setProperty(mc, _x, getProperty(mc, _x)-speedBall); } } Второй вопрос. Как сделать угл??? Имеется ввиду что делать если шарик(например) сталкивается с углом. Короче посмотрите исходник. Спасибо |
|
|||||
|
Тут вроде написано: http://noregret.org/tutor/n/collision/
Выглядит так: http://noregret.org/tutor/n/collision/sample.html PS hitTest не подходит
__________________
while(1) {} |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
почему же не подходит?
P.S: не нашел нужного, тыкните пальцем плиз Последний раз редактировалось Zik.; 17.11.2008 в 13:59. |
|
|||||
|
Цитата:
Цитата:
__________________
while(1) {} |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Как делать "определение столкновений" я знаю, мне интересно как исправить правильно угл.
И хотел бы знать что правильнее - первый или второй вариант стенок. P.S: меня не раз посылают на эту очень заумную ссылку, а я слишком молод для таких вещей ![]() |
|
|||||
|
Цитата:
как с хиттестом делать я не знаю, но в твоём простом случае, когда стенки только вертикальные и горизонтальные, можно смотреть на расстояние от этого угла до центра окружности. Если оно меньше радиуса, значит наехали на угол. ИМХО тот ещё изврат, может кто лучше подскажет.
__________________
while(1) {} |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
да не обязательно шарик, можно хоть квадрат, главное, чтобы была адекватная стенка, то есть угла (то есть, чтобы он нормально реагировал на столкновение).
Последний раз редактировалось Zik.; 17.11.2008 в 17:37. |
|
|||||
|
listener
|
Цитата:
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 1,724
|
Извините Alexcon314. У меня врожденная не грамотность, хоть у меня мама и филолог
.P.S: исправил |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 395
|
хиттестом физику лучше не делать. В твоем случае с комнатой подойдет такое решение:
ball._x = 25; // стартовые координаты шарика ball._y = 25; ball._xspeed = 3; // Стартовая скорость вправо и вниз ball._yspeed = 5; _root.onEnterFrame = function() { ball._x += ball._xspeed; // У мяча есть скорость, а значит он должен двигаться ball._y += ball._yspeed; // по направлению своей скорости ball._yspeed += 0.5 // Ибо на мяч действует сила тяжести // далее проверка пересечений и указание новой скорости для мяча if (ball._x < 10) // левая стенка { ball._x = 10; ball._xspeed = -ball._xspeed*0.7; } if (ball._x > 200) // правая стенка { ball._x = 200; ball._xspeed = -ball._xspeed*0.7; } if (ball._y > 400) // пол { ball._y = 400; ball._yspeed = -ball._yspeed*0.7; } if (ball._y < 20) // потолок { ball._y = 20; ball._yspeed = -ball._yspeed*0.7; } } Последний раз редактировалось Eric Gurt; 21.11.2008 в 22:45. Причина: Потому что планета кружится =) |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|