提前感谢您对我的帮助。
我读了很多关于对象池的好处的文章。我在网上找到了一些“教程”,这些都超出了我的技能水平。谁能给我看一个非常简单的对象池的例子。
我的游戏是当用户按住鼠标时创建球对象,当用户抬起鼠标时停止。
我需要将这些Ball对象存储在一个数组(或Vector)中,并使用其他对象对它们进行测试,当它们命中另一个对象时,将它们从舞台上移除。我想创建一个池,比如说20个so,创建一次,然后回收它们。
我该怎么做呢?如果你能用一种愚蠢的方式来解释这一点,我将非常感激。
再次感谢。
-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);
}发布于 2011-12-24 18:07:21
这是一篇关于“补间和对象池”的有趣文章:
http://blog.joa-ebert.com/2008/05/07/tweening-and-object-pools/
发布于 2012-11-27 16:24:08
我做了这个可以帮助你入门的东西:
http://www.plugin.io/2012/11/general-purpose-as3-object-pool/
https://stackoverflow.com/questions/8622862
复制相似问题