天天看點

Flash 遊戲設計筆記:滑鼠類遊戲(1)

最近很想寫一些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技術背後的冰山一角,後面還是需要我們去發展下去。

 累了,幾天後在補充