
28.06.2016, 19:58
|
|
Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
|
Цитата:
Сообщение от neonoviiwolf
да как может быть реализация кривая, если я просто добавляю мувик на сцену и он просто играет
Добавлено через 3 минуты
 Код AS3:
package classesGame.addActionUnits.addAction
{
import classesGame.options.OptionsUnits;
import classesGame.userEvent.UserEvent;
import flash.events.Event;
import nape.phys.Body;
import singleton.sFloor.SFloor;
public class AddActionCover extends IParentCommon
{
public function AddActionCover()
{
}
private var cover1:cover_mc = new cover_mc();
private var cover2:cover_mc = new cover_mc();
override public function init(e:Event):void
{
super.init(e);
stage.addEventListener(UserEvent.START_FLAG_1, userEvent);
stage.addEventListener(UserEvent.START_FLAG_3, userEvent);
stage.addEventListener(UserEvent.PAUSE, userEvent);
stage.addEventListener(UserEvent.PLAY, userEvent);
stage.addEventListener(UserEvent.EMERGING_WALL, userEvent);
stage.addEventListener(UserEvent.SHOT_WALL, userEvent);
this.addChild(cover1);
this.addChild(cover2);
this.addEventListener(Event.ENTER_FRAME, driveAway);
}
private function driveAway(e:Event):void
{
if (cover1.totalFrames > cover1.currentFrame)
stage.dispatchEvent(new UserEvent(UserEvent.CREATE_SEGMENT, true, false));
else
{
stage.dispatchEvent(new UserEvent(UserEvent.CREATE_ALL, true, false));
this.removeEventListener(Event.ENTER_FRAME, driveAway);
cover1.visible = cover2.visible = false;
}
}
private function userEvent(e:UserEvent):void
{
switch (e.type)
{
case "startFlag1":
case "emergingWall":
this.removeEventListener(Event.ENTER_FRAME, updateCover);
startFlag1();
break;
case "shotWall":
case "startFlag3":
this.addEventListener(Event.ENTER_FRAME, updateCover);
break;
case "pause":
this.removeEventListener(Event.ENTER_FRAME, updateCover);
break;
case "play":
this.addEventListener(Event.ENTER_FRAME, updateCover);
break;
}
}
private function updateCoverOffset(e:Event):void
{
cover1.y = cover2.y = bodyFloor.position.y - 2651.4;
}
private function startFlag1():void
{
cover1.visible = cover2.visible = true;
cover1.gotoAndStop(1);
cover2.gotoAndStop(1);
//!!!
OptionsUnits.positionWall_1 = cover1.width * 2;
//
cover1.y = cover2.y = -cover1.height + stage.stageHeight;
cover1.x = 0;
cover2.x = cover1.x + cover1.width;
this.addEventListener(Event.ENTER_FRAME, updateCoverOffset);
}
private var bodyFloor:Body = SFloor.getSFloor.getFloor.getBody;
private var step:uint = 0;
private function updateCover(e:Event):void
{
cover1.x -= OptionsUnits.tempGameSpeed ;
cover2.x -= OptionsUnits.tempGameSpeed;
if (cover1.x < -cover1.width)
cover1.x = cover2.x + cover2.width;
if (cover2.x < -cover2.width)
cover2.x = cover1.x + cover1.width;
if (step < 51)
{
++step;
cover1.gotoAndStop(uint(step / 10 + 1));
cover2.gotoAndStop(uint(step / 10 + 1));
}
else step = 0;
}
}
}
|
Нужно не мувиклип отображать, а bitmap и менять у неё bitmapdata.
__________________
Я заклинаю вас действовать иначе.
|