![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
Шарик сначала двигается вправо, а доходя до границы поля изменяет движение и начинает двигаться влево. Код такой.
public function moveX():void { x += speed; if (x >= stage.stageWidth - width || x < 0) { speed *= -1; } } Была такая мысль, но это не работает. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
Сразу после того, как объявите speed:
UPD: или даже вот так: |
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
Спасибо. А теперь еще вопрос. есть две функции, одна двигает шарик вправо-влево, а другая вверх-вниз. Нужно случайно выбрать начальное направление движения, тоесть выбрать случайно одну из двух функций. Как это сделать?
если так то шарик всегда двигается только вправо-влево. А если добавить функции в массив и выбирать из массива то он вообще не двигается. |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
Честно, не пойму - зачем вы их постоянно в массив пихаете?)
Если вот так: public function moveBalls():void { if (Math.random() > 0.5){ moveX(); } else { moveY(); } } Добавлено через 10 часов 7 минут Кстати, в последнем примере, шарик не двигается не потому, что что-то не выбирается, а потому, что что-то не вызывается - т.е. вы высчитали a (которое, как я понимаю - индекс элемента массива), но функцию-то нигде не вызвали нужную. Кроме того, если я правильно понял замысел, умножать нужно не на а на . Иначе в определенных случаях вы будете вылетать за пределы массива. |
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
А если так, то шарик вообще по диагонали двигается. Тоесть он одновременно смещается и по x и по y. Да и функцию я вызываю, я же сдесь не весь код привела.
|
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
Ну, по диагонали он может двигаться, если вы вызываете по очереди то одну, то другую функцию. Например, если moveBalls() у вас вызывается по EnterFrame, то шарик и будет двигаться по диагонали - сначала случайно выпадает одно направление, потом другое.
|
|
|||||
|
Регистрация: Feb 2013
Сообщений: 21
|
Именно так. Вызываю по EnterFrame. Вот мне нужно и чтоб по энтерфрейм вызвать и чтоб направление случайное было. Вот я и не пойму как же это сделать?
|
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
То есть не просто случайное, но что бы оно определилось только один раз - либо вверх/вниз, либо влево/вправо?..
|
|
|||||
|
__________________
return this... |
|
|||||
|
Регистрация: Aug 2012
Сообщений: 70
|
Или вот так:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:52. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|