簡體   English   中英

如何在as3中創建同一類的多個實例?

[英]How to create multiple instances of the same class in as3?

新手問題。 好的,所以我試圖在單獨的x和y坐標上創建筆記的兩個實例(這是一個導入的圖片),然后我希望它們都向右移動。 現在,我編寫了一個循環,該循環可以正常工作,但它只保留最后一個創建的實例。 這是我的代碼。 我真的很感謝任何人都能提供的幫助。 謝謝!

package 
{
import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.utils.getDefinitionByName;

[Frame(factoryClass="Preloader")]
public class Main extends Sprite 
{
private var speed:int = 8;
[Embed(source="../lib/Dodgethis.jpg")]
public var Notes:Class;

public var numnotes:Number;

    public function Main():void 
    {
        if (stage) init();
        else addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        // entry point
        stage.addEventListener(KeyboardEvent.KEY_DOWN, testevent);

        }

    private function testevent(e:Event = null):void {
        trace("testevent has run");
        appear(350, 250);
        //ap2(150, 150)
        //addEventListener(Event.ENTER_FRAME, loop, false, 0, true);    
    }

    private function appear(x:Number, y:Number) {
        var arr1:Array = new Array;
        numnotes = 4;

        for (var i = 0; i < numnotes; i++)
        {
            trace (i);
            var nbm:Bitmap = new Notes;

            if (i == 0) {
                this.x = 400;
                this.y = 400;
                addChild(nbm);
                trace ("1 should be different");
            } else {
                trace ("this is working");
                this.x = 150;
                this.y = 150;
                addChild(nbm);
                arr1.push(nbm);

您已經創建了4個音符,但是它們的位置是同一點(0,0)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM