วันจันทร์ที่ 22 กรกฎาคม พ.ศ. 2556

action script 3.0 การใช้ keyboard และ Hittest

เหมือนเดิมครับ แยก layer code กับ graphic ไว้ 2 layer
แล้วเขียน code ใน frame ของ layer as

movieclip ชื่อ mc1 ครับ
stage คือ ฉากรวมทั้งหมด

//code start
import flash.events.KeyboardEvent;

stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyPressed);//stage เตรียมรับค่าจาก kb

function onKeyPressed(KeyboardEvent)
{

switch (KeyboardEvent.keyCode)
{
case Keyboard.LEFT:
mc1.x-=10;
break;
case Keyboard.RIGHT:
mc1.x+=10;
break;
case 65: //a
mc1.x-=10;
break;
case 68: //d
mc1.x+=10;
break;
case 87: //w
mc1.y-=10;
break;
case 83: //s
mc1.y+=10;
break;
}
}
//code end


ตัวอย่างที่สอง Hittest หรือการตรวจจับการชน(คนละไฟล์กันนะ)
เป็นจุดเด่นของ โปรแกรม Flash ในการเขียนเกมส์หรือสื่อออนไลน์เลยละ
มี mc 2 ตัวนะรับ mc1 กับ mc2
mc2 ให้ทำ tween มาจะชน mc1

//code start
mc1.addEventListener(Event.ENTER_FRAME, circleHit);

function circleHit(event:Event):void {
if (mc1.hitTestObject(mc2)) { //ตรวจสอบการชน
trace("ahh!");
mc1.visible= false; //mc1 หายตัวไป
}
}
//code end

ไม่มีความคิดเห็น:

แสดงความคิดเห็น