РЕДАКТИРОВАТЬ: я изменил код. Я реализовал это в последнем кодовом блоке (третьем), будучи первыми двумя оригиналами.
У меня есть сайт Gaia, на одной из его страниц должен быть эффект фоновых частиц.
взято из http://blog.soulwire.co.uk/flash/actionscript-3/as3-alphabet-particles
Но при импорте и попытке использовать его я получаю только ошибки и не знаю, в каком направлении мне следует его создать:
PAGE01: Страница, на которой предполагается использовать эффект:
import com.gaiaframework.templates.AbstractPage;
import com.gaiaframework.events;
import com.gaiaframework.debug;
import com.gaiaframework.api;
import flash.display.*;
import flash.events.*;
import com.greensock.TweenMax;
public class ClubPage extends AbstractPage
{
public var ButtonInicio:MovieClip;
public var NavArray:Array;
public function ClubPage()
{
super();
alpha = 0;
ButtonInicio.branch = Pages.HOME;
NavArray = [ButtonInicio];
for each (var button:MovieClip in NavArray)
{
button.buttonMode = true;
button.mouseChildren = false;
button.addEventListener(MouseEvent.CLICK, onClick, false,0,true);
}
}
override public function transitionIn():void
{
super.transitionIn();
TweenMax.to(this, 0.3, {alpha:1, onComplete:transitionInComplete});
}
override public function transitionOut():void
{
super.transitionOut();
TweenMax.to(this, 0.3, {alpha:0, onComplete:transitionOutComplete});
for each (var button:MovieClip in NavArray)
{
button.removeEventListener(MouseEvent.CLICK, onClick);
}
}
private function onClick(e:MouseEvent):void
{
Gaia.api.goto(e.target.branch);
}
}
PAGE 02: И как вы можете видеть в исходном коде эффекта частиц по приведенной выше ссылке, я пытаюсь реализовать этот код на PAGE01:
import com.soulwire.physics.ParticleEmitter;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class Club extends Sprite
{
/*
========================================================
| Private Variables | Data Type
========================================================
*/
private var emitter:ParticleEmitter;
/*
========================================================
| Constructor
========================================================
*/
public function Club()
{
stage.align = 'TL';
stage.scaleMode = 'noScale';
emitter = new ParticleEmitter(stage,false,'TestParticle',20,8,[2,4],[10,100],5,0,0,'wander');
emitter.x = stage.stageWidth / 2;
emitter.y = stage.stageHeight / 2;
addChild( emitter );
emitter.init();
}
}
Я пробовал копировать пасту и пытался адаптироваться, но ничего не работает, я потратил 2 дня, но мне ничего не приходит в голову относительно возможных ошибок.
Если кто-нибудь знает gaia, as3 и знает, как он это реализует, пожалуйста, объясните мне.
Спасибо
РЕДАКТИРОВАТЬ: Это моя реализация, я продолжаю получать ошибки нулевых ссылок: Ошибка типа: Ошибка # 1009: Не удается получить доступ к свойству или методу ссылки на нулевой объект.
на com.soulwire.physics :: ParticleEmitter ()
на com.pages :: ClubPage ()
Невозможно отобразить исходный код в этом месте.
import com.soulwire.physics.ParticleEmitter;
public class ClubPage extends AbstractPage
{
var emitter:ParticleEmitter;
public function ClubPage()
{
super();
alpha = 0;
emitter = new ParticleEmitter(stage,false,'TestParticle',20,8,[2,4],[10,100],5,0,0,'wander');
this.addChild( emitter );
emitter.x = stage.stageWidth / 2;
emitter.y = stage.stageHeight / 2;
emitter.init();
}