|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
Заставить предмет постоянно двигаться
Может кто знает как заставить предмет постоянно двигаться например чтобы мяч в игре постоянно прыгал?
|
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
Может кто знает как заставить предмет постоянно создавать сингулярности во вселенной, излучая при этом нереальные радиоактивные волны, например чтобы белая дыра в нашей галактике постоянно извергала материю?
Извините, что? |
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
заставить предмет анимационно допустим постоянно двигаться..... к примеру мяч чтобы постоянно прыгал от точки до точки вперед и назад
|
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
Спасибо..но как сделать так чтобы он прыгал вперед до конца экрана и назад
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Думал, что это очень просто и все скажут - пусть сам делает.. И тут я решил, что - ну надо же помочь, а то может человек только начал.. И не так то это и просто! я бы использовал готовые анимации.. И то, что это поможет ТС я не уверен, но это лучше чем не чего
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.Event; public class Movement extends Sprite { //мячи private var boll:Sprite; private var boll2:Sprite; //массив в который всё складываем private var object:Array; //счетчик кол-во элементов в массиве private var counter:int = 0; public function Movement() { if (stage) { init(); } else { addEventListener(Event.ADDED_TO_STAGE, init); } } private function init(event:Event=null):void { removeEventListener(Event.ADDED_TO_STAGE, init); //создали массив object = []; //создаем мячи boll = new Sprite(); boll.graphics.beginFill(0x5098DA); boll.graphics.drawCircle(0, 0, 30); boll.graphics.endFill(); boll2 = new Sprite(); boll2.graphics.beginFill(0x4FDB9C); boll2.graphics.drawCircle(0, 0, 40); boll2.graphics.endFill(); //передаем их в метод ..все что попадет в этот метод будет двигаться как мяч //только как мяч...чтобы прыгали по горизонтали Вам надо это самим сделать addObject(300,-20, 200,boll2 , 400);//начало,скорость,растояние,то что движится, начальная координата... addObject(300,-30, 100, boll, 300); addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function movement():void { //проверяем наличие элементов в массиве, если их нет то код не сработает if (!counter) return; //если мы тут то элементы есть //прибавляем ай на четыре for (var i:int = 0; i < counter; i+=4) { //прибавляем к текущему элементу его скорость object[3 + i].y += object[2 + i]; //если мяч достиг максимальной или минимальной дистанции //меняем ему в массиве скорость на отрицательную и он //двигается в другую сторону if (object[3 + i].y < object[1 + i]) { var course:Number = object[2 + i]; object.splice(2 + i, 1, course * -1); } if (object[3 + i].y > object[0 + i]) { var course0:Number = object[2 + i]; object.splice(2 + i, 1, course0 * -1); } } } private function addObject($startY:int,$speedY:int,$distance:int,$obj:DisplayObject,$startX:int=NaN):void { //прибавляем счетчик элементов сразу на четыре counter += 4; //тут вот высчитывается направление... по другому я не смог var course:Number = $distance-($distance + 1); //тут высчитываем максимум var end:Number = $startY + ($distance * course); //тут скорость var speed:Number = Math.round($distance / $speedY); //помещаем всё в массив object.push($startY,end,speed,$obj); if ($startX) object[counter - 1].x = $startX; if ($startY) object[counter - 1].y = $startY; //тут добавляем наши мячи в список отображения addChild(object[counter-1]); } private function enterFrameHandler(event:Event):void { movement(); } } } Последний раз редактировалось Akopalipsis; 25.09.2013 в 02:51. |
|
|||||
[+1 10.11.13]
Регистрация: Feb 2013
Сообщений: 52
|
Спасибо большое буду разбираться....Да только начал недавно)
|
|
|||||
Регистрация: Dec 2006
Сообщений: 1,764
|
Flash_AS3 ник то у тебя многообещающий, а взять и открыть книжку и почитать азы вам лень
__________________
а за окном атлантический океан! |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Akopalipsis, а зачем вы использовали $ перед переменными, это какой-то трюк, или просто для удобства?
|
|
|||||
Регистрация: Sep 2006
Сообщений: 145
|
Цитата:
привычка я тоже так делаю, хотя считается плохим стилем |
Часовой пояс GMT +4, время: 09:26. |
|
« Предыдущая тема | Следующая тема » |
|
|