พอดีผมกำลังศึกษาเรื่องการใช้ flash action script 2.0 ทำเกมส์ครับ ทีนี้ลองนั่งพิมพ์โค๊ดตามหนังสือที่เขาขายกัน เอามาลองทำดู ปรากฏว่ากดภาพที่ 1 ได้ แต่ไม่สามารถกดภาพที่ 2 เพื่อนำมาเปรียบเทียบ ID ได้ ลองเช็คว่าพิมพ์ตกหล่นมั้ยหลายรอบ ก็ไม่เจออะไร (หรือตาลายไปเอง 555) เลยอยากจะขอคำปรึกษาหน่อยครับ
Code ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้stop();
col=4;
row=4;
num=16;
strX=100;
strY=100;
cardW=200;
cardH=200;
keepID=0;
keepName="";
success=0;
isFlip=false;
myMapArr=new Array();
myGameArr=new Array();
//พลิกภาพ
MovieClip.prototype.flip=function(type,round){
this.myStatus=1;
this.onEnterFrame=function(){
if(this.myStatus==1){
this._xscale-=20;
if(this._xscale<=0){
if(type="on"){
this.gotoAndStop(2);
}else{
this.gotoAndStop(1);
}
this._xscale=0;
this.myStatus=2;
}
}else if(this.myStatus==2){
this._xscale+=20;
if(this._xscale>=100){
this._xscale=100;
if(round==2){
chkMatch(keepID,this.myID,keepName,this._name)
}else{
idFlip=false;
delete this.onEnterFrame;
}
}
}
}
}
//ตรวจภาพเหมือน
function chkMatch(id1,id2,name1,name2){
delete _root[name2].onEnterFrame;
if(id1==id2){
keepID=0;
keepName="";
isFlip=false;
success++;
if(success==(num/2)){
win();
}
}else{
keepID=0;
keepName="";
_root[name1].flip("off",1);
_root[name2].flip("off",1);
}
}
//ไป Scene 3
function win(){
for(i=1;i<=num;i++){
_root["pic"+i].removeMovieClip();
}
gotoAndPlay("Scene 3",1);
}
function pressMe(){
if(!isFlip){
isFlip=true;
if(keepID==0){
keepID=this.myID;
keepName=this._name;
this.flip("on",1);
}else{
this.flip("on",2);
}
}
}
//สร้าง loop เริ่มเกมส์ใหม่
for(i=1;i<=(num/2);i++){
myMapArr.push(i);
myMapArr.push(i);
}
//loop สุ่มไอดีการ์ด
for(i=1;i<=num;i++){
rnd=random(myMapArr.length);
tmp=myMapArr.splice(rnd,1).toString();
myGameArr.push(tmp);
}
//loop
for(i=1;i<=num;i++){
me=_root.attachMovie("pic"+myGameArr[i-1],"pica"+i,i);
me.myID=myGameArr[i-1];
me._x=strX+(((i-1)%col)*cardW);
me._y=strY+(Math.floor((i-1)/col)*cardH);
me.onPress=pressMe;
}
สอบถาม Code Flash เกมส์จับคู่การ์ด
Code ครับ
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้