AS3 - Пример простого пула объектов? - PullRequest
1 голос
/ 24 декабря 2011

Заранее спасибо за прекрасный источник помощи.

Я много читал о преимуществах объединения объектов.Нашел некоторые "учебные пособия" онлайн, все выше моего уровня квалификации.Может кто-нибудь, пожалуйста, покажите мне чрезвычайно простой пример пула объектов.

Моя игра создает объекты Ball, когда пользователь удерживает мышь, останавливается, когда пользователь поднимает мышь.

Мне нужно хранить эти объекты Ball в массиве (или в векторе) и проверять их другими объектами, удаляя их со сцены при попадании в другой объект.Я хотел бы создать пул, скажем, 20 штук, созданный один раз, и переработать их.

Как бы я это сделал?Если бы вы могли объяснить это тупо, я был бы очень признателен.

Еще раз спасибо.

--------- Код класса мяча --------

Код ActionScript:

import flash.events.TimerEvent;
import flash.geom.Point;

public class Ball extends Particle {

    public function Ball ($position:Point, $vector:Point, $gravity:int, $friction:Number) {
        super($position, $vector, $gravity, $friction);

        //Set initial position
        x = position.x;
        y = position.y;

        updateTimer.addEventListener(TimerEvent.TIMER, setPosition, false, 0, true);

    }

    public function setPosition (e:TimerEvent):void {

        x = position.x;
        y = position.y;

    }
}

------------ КОД КЛАССА ДОКУМЕНТА ---------------

Код ActionScript:

function throwBall(e:TimerEvent):void {

        var tBall:Ball=new Ball(new Point(mouseX,mouseY),new Point(Math.random()+Math.random()*5+Math.random()*8),gravity,friction);
        tBall.gotoAndStop(BallColor);
        addChild(tBall);
        ballArray.push(tBall);

    }

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Это интересная статья о "анимации движения и объединении объектов":

http://blog.joa -ebert.com / 2008/05/07 / Tweening-и-объектные пулы /

0 голосов
/ 27 ноября 2012

Я сделал это, чтобы помочь вам начать:

http://www.plugin.io/2012/11/general-purpose-as3-object-pool/

...