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//同上
}
} 小球在舞台上相互碰撞