as3游戏源码
① 急求Flash AS3.0中把影片剪辑放入数组的源码,求大神帮看看!
根据你说的,我写了一个亲测可以。
这里其实主要是链接名字太多了,不方便放,其实可以用我下面的方法,但是AS链接对象都必须是MC
importflash.display.DisplayObject;
importflash.display.Sprite;
importflash.utils.getDefinitionByName;
importflash.display.MovieClip;
importflash.events.MouseEvent;
varclassArr:Array=[];//所有类名称的数组(String数组)
vari:int=0;//循环计数器
varcurrentMc:MovieClip;//当前显示的MC
varcurrentClassIndex:int=0;//当前显示的MC的链接名在classArr中的索引
for(i=1;i<5;i++)//我只做了5个mc测试,你可以改为100
{
varclassStr:String=i.toString();
while(classStr.length<3)
{
classStr="0"+classStr;
}
classArr.push("MC"+classStr);
}
//将所有链接名放入数组
btn.addEventListener(MouseEvent.CLICK,clickHandler);
//设btn为你需要点击的按钮
functionclickHandler(evt:MouseEvent):void
{
if(currentMc&¤tMc.stage)//如果MC已经存在,则移除
{
removeChild(currentMc);
}
varnewIndex:int;
do
{
newIndex=int(Math.random()*classArr.length);
}
while(newIndex==currentClassIndex);//找到下一个不一样的AS链接
varClassReference:Class=getDefinitionByName(classArr[newIndex].toString())asClass;//获取AS链接名对应的类!!!这里是关键
varinstance:Object=newClassReference();
currentMc=MovieClip(instance);//重新初始化MC
addChild(currentMc);
currentClassIndex=newIndex;//加入显示列表,更新索引
}
② 求 一个FLASH AS3.0做的 多个小球在一个框里互相碰撞的源码
var speed:uint=5//自定义速度
var bounce:Number=-1//自定义摩擦系数(碰到了不停下)
for(var i:uint=0;i<8;i++){
var ball:Ball=new Ball();
addChild(ball)
ball.x=Math.random()*(stage.stageWidth-ball.width)
ball.y=Math.random()*(stage.stageHeight-ball.height)
ball.addEventListener(Event.ENTER_FRAME,go);
ball.ids=Math.random()*2*Math.PI//自定义一个360度桐穗随机角度
ball.vx=Math.cos(ball.ids)*speed//自定义有方向的速度
ball.vy=Math.sin(ball.ids)*speed
}
function go(e:Event):void{
var ball:MovieClip=MovieClip(e.target)
ball.x+=ball.vx//让目标动起来
ball.y+=ball.vy
if(ball.x<0){//判断出了舞台
ball.x=0
ball.vx*=bounce//出孙拦了舞台的左右,X速度的方向变成反向
}
if(ball.x>stage.stageWidth-ball.width){
ball.x=stage.stageWidth-ball.width
ball.vx*=bounce
}
if(ball.y<0){//除局凯卜了舞台的上下,Y速度的方向变成反响
ball.y=0
ball.vy*=bounce
}
if(ball.y>stage.stageHeight-ball.height){
ball.y=stage.stageHeight-ball.height
ball.vy*=bounce//同上
}
} 小球在舞台上相互碰撞