AS3 Gaia и проблема эффектов частиц - PullRequest
1 голос
/ 15 августа 2011

РЕДАКТИРОВАТЬ: я изменил код. Я реализовал это в последнем кодовом блоке (третьем), будучи первыми двумя оригиналами.

У меня есть сайт 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();
        }
...