提前感谢这个出色的帮助来源。
我一直在阅读很多关于对象池的好处。在线发现了一些“教程”,都高于我的技能水平。任何人都可以请给我一个非常简单的对象池示例。
我的游戏所做的是在用户按下鼠标时创建Ball对象,在用户抬起鼠标时停止。
我需要将这些Ball对象存储在数组(或Vector)中,然后使用其他对象对其进行测试,并在击中另一个对象时将其从舞台中删除。我想创建一个20个这样的池,创建一次,然后回收它们。
我该怎么做?如果你能以一种愚蠢的方式解释这一点,我将非常感激。
再次感谢。
--------- Ball类代码---------
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);
}
答案 0 :(得分:1)
这是一篇关于“补间和对象池”的有趣文章:
http://blog.joa-ebert.com/2008/05/07/tweening-and-object-pools/
答案 1 :(得分:0)