![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Dec 2010
Сообщений: 1
|
Здравствуйте!
Есть такой ролик. Ниже код. Можно ли сделать так, чтобы "шарик" дергался примерно в рамках прямоугольника? Буду очень благодарна за помощь! ![]() var shakeRange:Number = 2; function shake(target:MovieClip):Void { //select random action for the X axis var randomAction = random(2); if(randomAction == 0) { target._x += shakeRange } else if(randomAction == 1) { target._x -= shakeRange } //select random action for the Y axis var randomAction = random(2); if(randomAction == 0) { target._y += shakeRange } else if(randomAction == 1) { target._y -= shakeRange } } //onEnterFrame that executes the shake function every frame _root.onEnterFrame = function(){ shake(player_mc); } |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Здравствуйте!
Я бы переписал всё. import flash.geom.Rectangle; function shake(mc, power, useFullPower, rect){ var sx = (Math.round(Math.random()) * 2 - 1) * power; var sy = (Math.round(Math.random()) * 2 - 1) * power; if(!useFullPower){ sx *= Math.random(); sy *= Math.random(); } var nx = mc._x + sx; var ny = mc._y + sy; if(!rect){ return; } if(nx < rect.left || nx > rect.right || ny < rect.top || ny > rect.bottom){ return shake(mc, power, rect) } } var playerShakeRect = new Rectangle( 50, 50, 250, 250); player_mc._x = playerShakeRect.left + Math.random() * playerShakeRect.width; player_mc._y = playerShakeRect.top + Math.random() * playerShakeRect.height; this.onEnterFrame = function(){ shake(player_mc, 10, false, playerShakeRect) } useFullPower — (true или false) определяет, всегда ли "дергать" на значение power или на произвольное значение в диапазоне power. rect — экземпляр ректангла для ограничения. Важно, что если задан последний параметр, то клип изначально должен быть внутри области ограничения. В коде мог ошибиться, ибо писал в браузере.
__________________
hauts.ru |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|