我的要求:
现在这是我的代码,但它不断创建无限量的球
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
//Criação das variavéis
var bolas:Array = new Array();
stage.addEventListener(MouseEvent.MOUSE_DOWN, startdd);
stage.addEventListener(MouseEvent.MOUSE_UP, stopdd);
function startdd(e:MouseEvent)
{
e.target.startDrag();
}
function stopdd(e:MouseEvent)
{
e.target.stopDrag();
}
for (var i:int = 0; i < 5; i++)
{
var ball:bolamc = new bolamc();
ball.x = Math.random() * (stage.stageWidth - ball.width);
ball.y = Math.random() * (stage.stageHeight - ball.height);
bolas.push(ball);
stage.addChild(ball);
}
ps:我的朋友正在使用相同的代码并且它正常工作(制作5个球,他可以移动它们)
答案 0 :(得分:2)
您需要自己编写大部分代码,但我可以给您一些指导。
要在屏幕上的随机位置创建元素,您可以使用Math.random()。例如:
var newElement:Element = new Element();
newElement.x = Math.random()*STAGE_WIDTH_GOES_HERE;
newElement.y = Math.random()*STAGE_HEIGHT_GOES_HERE;
addChild(newElement);
点击并拖动here's a nice tutorial on Kirupa。您可能需要对其进行调整以使其适用于多个对象。
对于命中碰撞,您可以遍历元素并使用hitTestObject()来确定它们的边界框是否相互接触。如果您需要更高的精度,可以尝试像this这样的像素完美碰撞类。
要更改对象的颜色,可以使用Color Transform,其中包含RepublicOfCode的教程。以下是该页面的一些基本示例代码:
var myColorTransform = new ColorTransform();
myColorTransform.color = 0xFFFFFF;
myTargetObject.transform.colorTransform = myColorTransform;