最近很想寫一些Flash遊戲的文章,但是畢竟技術有限,是以隻能是一些皮毛的東西。好,接下來走進我們今天的話題,如果使用滑鼠來建立一些簡單的flash遊戲程式。
基礎知識:
數學三角法:Math.atan2,sin 和cos 等
滑鼠的互動事件,包括按下,移動 點選等等
Event類一些事件。
一,簡單滑鼠事件
首先先看一些下面簡單的滑鼠事件
package
{
import flash.display.MovieClip;
import flash.events.*;
public class Example extends MovieClip
public function Example()
stage.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
}
private function onDown(event:MouseEvent):void
trace("你點了我");
當我們按下去的時候,我們驚喜會發現,滑鼠按下去的時候,輸出面闆裡面輸出了我們跟蹤的資訊
你點了我
有了這個認識後,我們可以實作一些與滑鼠一起互動小程式。
二,滑鼠mouseX和mouseY屬性
這兩個屬性:mouseX和mouseY分别代表滑鼠的x坐标 和Y坐标,知道了這個後,我們來弄一個滑鼠的坐标捕捉。
首先:我們在場景裡面加入兩個TextFiled的動态文本,用于顯示坐标。
聲明兩個TextFied對象;
private var dx:TextField;
private var dy:TextField;
然後執行個體化對象
dx=new TextField();
dy=new TextField();
并指定它的坐标,以及顯示方式 是否有邊框
private function init():void
addChild(dx);
dx.width=50;
dx.height=20;
dx.x=30;
dx.y=30;
dx.border=true;
addChild(dy);
dy.width=50;
dy.height=20;
dy.x=30;
dy.y=53;
dy.border=true;
目前為止,初始化的工作相當簡單。
接下來,我們在場景添加一個Event類事件用于每一幀産生捕捉滑鼠
addEventListener(Event.ENTER_FRAME,Run);
private function Run(event:Event):void
{
dx.text=String(mouseX);
dy.text=String(mouseY);
}
這樣一個簡單的效果出來了
代碼:
package
import flash.text.TextField;
private var dx:TextField;
private var dy:TextField;
init();
dx.text=String(mouseX);
dy.text=String(mouseY);
二,滑鼠的隐藏屬性
檢視flash.ui.Mouse 包裡面 可以發現adobe 為我們提供了關于滑鼠一些操作
hide():void 和show():void 由于這兩個函數都是靜态方法,是以引用的時候需要使用
引用方式
Mouse.hide();
Mouse.show();
這裡我們要說的是隐藏的屬性,這個屬性反而有趣一些,傳統的滑鼠指針圖案是一個箭頭,如果看膩了,需要弄一點新鮮玩意,這樣我們可以使用到這個函數。我們要準備那些工作呢?請大家想想,想好了。我們可以開始我們的工作。叫張三或者李四找一張圖檔來。把我們的滑鼠指針進行替換。
import flash.ui.Mouse;
private var photo:MousePhoto;
// mouse.hide():
Mouse.hide();//隐藏滑鼠
photo=new MousePhoto();//建立代替滑鼠的圖
addChild(photo);
photo.x=mouseX;
photo.y=mouseY;
到目前為止,我們隻是看到Flash技術背後的冰山一角,後面還是需要我們去發展下去。
累了,幾天後在補充