最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Actionscript 3.0 鼠標(biāo)事件

 更新時(shí)間:2009年02月16日 12:42:02   作者:  
這本書是一本經(jīng)典的書籍,說(shuō)實(shí)話一些小的AS3的項(xiàng)目是做了好幾個(gè),基本的語(yǔ)法也都知道(其實(shí)有面向?qū)ο缶幊陶Z(yǔ)言的基礎(chǔ)后再入門一門新的語(yǔ)言還是很快的)?,F(xiàn)在找到了這邊經(jīng)典書籍完整版,就好好看看,順便寫一些總結(jié)。
關(guān)于Actionscript 3.0的事件機(jī)制,以后分模塊一個(gè)一個(gè)介紹,最后形成一個(gè)完整的文檔??戳说谝徽?,就說(shuō)說(shuō)鼠標(biāo)事件,順便說(shuō)下我遇到的一個(gè)問(wèn)題。Actionscript 3.0鼠標(biāo)事件無(wú)非就是監(jiān)聽和捕獲鼠標(biāo)事件,比如Click,DoubleClick等,AS3中鼠標(biāo)事件包是在flash.events.MouseEvent中。
在這里貼一個(gè)簡(jiǎn)單ActionScript 3.0實(shí)現(xiàn)寫字板程序代碼,結(jié)合代碼來(lái)理解鼠標(biāo)的監(jiān)聽,捕獲處理過(guò)程。
復(fù)制代碼 代碼如下:

package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent; //import MouseEvent 包
/**
* @Written by Leezhm, 6th Jun, 2009
* @Contact : Leezhm@126.com
* @author : Leezhm
*
**Last Modified by Leezhm on 6th Jun, 2009
*
*/
[SWF(height = "450", width = "600", backgroundColor = "0xFFFFFF", frameRate = "31")] //設(shè)置應(yīng)用程序?qū)傩?
public class Main extends Sprite
{
public function Main():void
{
if (stage)
{
Init();
}
else
{
addEventListener(Event.ADDED_TO_STAGE, Init);
}
}
private function Init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, Init);
// entry point
addEventListener(Event.ENTER_FRAME, OnEnterFrameHandler); //監(jiān)聽ENTER_FRAME事件,一個(gè)重要的事件
}
private function OnEnterFrameHandler(e:Event):void //ENTER_FRAME事件的處理函數(shù)
{
this.DrawGraphic();
}
private function DrawGraphic():void
{
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDownHandler); //監(jiān)聽鼠標(biāo)Down事件
}
private function OnMouseDownHandler(e:MouseEvent):void //處理鼠標(biāo)Down事件
{
this.graphics.lineStyle(2, 0, 1);
this.graphics.moveTo(this.mouseX, this.mouseY);
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, OnMouseMoveHandler); //監(jiān)聽鼠標(biāo)MOVE事件
}
private function OnMouseMoveHandler(e:MouseEvent):void //鼠標(biāo)MOVE事件處理函數(shù)
{
this.graphics.lineTo(this.mouseX, this.mouseY);
this.stage.addEventListener(MouseEvent.MOUSE_UP, OnMouseUpHandler); //監(jiān)聽鼠標(biāo)UP事件
}
private function OnMouseUpHandler(e:MouseEvent):void //處理鼠標(biāo)UP事件
{ // 移除對(duì)鼠標(biāo)DOWN、MOVE和UP事件的監(jiān)聽
this.stage.removeEventListener(MouseEvent.MOUSE_DOWN, OnMouseDownHandler);
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, OnMouseMoveHandler);
this.stage.removeEventListener(MouseEvent.MOUSE_UP, OnMouseUpHandler);
}
}
}

其實(shí)看上面的代碼就很簡(jiǎn)單地理解Actionscript 3.0中鼠標(biāo)事件的處理過(guò)程,順便傳一張效果圖片。
     
好了說(shuō)一個(gè)我曾經(jīng)犯的錯(cuò)誤,代碼如下:
復(fù)制代碼 代碼如下:

package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class A extends Sprite
{
public function A()
{
graphics.beginFill(0xFF0000);
graphics.drawCircle(100,100,40);
graphics.endFill();
addEventListener(MouseEvent.CLICK, testclick);
}
private function testclick(event:MouseEvent):void {
trace("Hello World!!!");
}
}
}

實(shí)際上上面的這段代碼并不響應(yīng)鼠標(biāo)的CLICK事件,為什么,開始我也花了很長(zhǎng)時(shí)間來(lái)查找原因。其實(shí)這涉及到Actionscript 3.0的事件實(shí)現(xiàn)機(jī)制,在這里簡(jiǎn)單解釋下:
原因很簡(jiǎn)單,因?yàn)樯厦婺菢拥囊粋€(gè)文檔類是空的,根本就沒(méi)有任何顯示對(duì)象,所以就不會(huì)響應(yīng)鼠標(biāo)事件了(那個(gè)DrawCircle 不能算顯示對(duì)象,它只能算是一個(gè)背景而已,并不在Actionscript的顯示列表中 ,所以Actionscript事件機(jī)制中就不可能向它分發(fā)事件消息)。但下面對(duì)以上代碼做一下修改就可以。
復(fù)制代碼 代碼如下:

package {
import flash.display.Sprite;
import flash.events.MouseEvent;
public class A extends Sprite {
public function A() {
var _sp:Sprite=new Sprite()
_sp.graphics.beginFill(0xFF0000);
_sp.graphics.drawCircle(100,100,40);
_sp.graphics.endFill();
addChild(sp)
_sp.addEventListener(MouseEvent.CLICK, testclick);
}
private function testclick(event:MouseEvent):void {
trace("Hello World!!!");
}
}
}

對(duì)比倆代碼就可以發(fā)現(xiàn),后面的加了一個(gè)顯示對(duì)象,并在顯示對(duì)象上監(jiān)聽鼠標(biāo)事件。 當(dāng)然也可以想第一段代碼中那樣在Stage上監(jiān)聽。
注意,直接this.addEventListener這樣來(lái)監(jiān)聽的是root,并不是Stage這樣的DisplayObject對(duì)象,同樣是不可以的。

相關(guān)文章

  • Actionscript 3.0 鼠標(biāo)事件

    Actionscript 3.0 鼠標(biāo)事件

    這本書是一本經(jīng)典的書籍,說(shuō)實(shí)話一些小的AS3的項(xiàng)目是做了好幾個(gè),基本的語(yǔ)法也都知道(其實(shí)有面向?qū)ο缶幊陶Z(yǔ)言的基礎(chǔ)后再入門一門新的語(yǔ)言還是很快的)?,F(xiàn)在找到了這邊經(jīng)典書籍完整版,就好好看看,順便寫一些總結(jié)。
    2009-02-02
  • Google Analytics在Flash cs3下的使用教程分析

    Google Analytics在Flash cs3下的使用教程分析

    因?yàn)楣ぷ鞯脑颍罱褂玫紾oogle Analytics組件,這個(gè)組件在網(wǎng)上的資料很多,但是大部分都是詳談組件的優(yōu)勢(shì)的,具體的使用沒(méi)有很詳細(xì)的說(shuō)明
    2009-02-02
  • as3+xml+asp+access做的有獎(jiǎng)問(wèn)答

    as3+xml+asp+access做的有獎(jiǎng)問(wèn)答

    as3+xml+asp+access做的有獎(jiǎng)問(wèn)答實(shí)現(xiàn)代碼
    2009-02-02
  • AS3自寫類整理筆記 ClassLoader類

    AS3自寫類整理筆記 ClassLoader類

    在用flash做項(xiàng)目的時(shí)候,把一些元件,通過(guò)設(shè)置鏈接類,然后使用這個(gè)類,通過(guò)getClass方法即可把這個(gè)素材拿下來(lái)
    2008-06-06
  • AS3自寫類整理筆記:ByteLoader類

    AS3自寫類整理筆記:ByteLoader類

    該類的主要功能是把swf,jpg,png,gif等文件以字節(jié)的形式加載進(jìn)來(lái) 以便于使用Loader.loadBytes方法,重復(fù)加載使用素材 如果圖片格式為jpg,并且是漸進(jìn)式格式j(luò)peg,那么該類還可以幫助你邊加載邊顯示
    2008-06-06
  • 火山動(dòng)態(tài)文本滾動(dòng)條V5[AS3版]

    火山動(dòng)態(tài)文本滾動(dòng)條V5[AS3版]

    功能說(shuō)明:本版滾動(dòng)條除了繼續(xù)保持體積小(小于2K),界面容易修改,資源占用率小的優(yōu)勢(shì)外,主要有以下幾點(diǎn)改進(jìn): 1,使用AS3編寫。 2,寬高動(dòng)態(tài)指定。 3,增加滾動(dòng)條背景點(diǎn)擊事件。 4,消除了鼠標(biāo)滾輪無(wú)法同時(shí)準(zhǔn)確控制多個(gè)文本框的重大BUG。
    2008-03-03
  • as3 rollOver or mouseOver使用說(shuō)明

    as3 rollOver or mouseOver使用說(shuō)明

    rollOver與mouseOver同樣在鼠標(biāo)移到目標(biāo)上時(shí)觸發(fā)事件,細(xì)微區(qū)別在于,mouseOver的bubbles等于true,而rollOver的bubbles是false.
    2009-10-10
  • ActionScript 3.0 編程體驗(yàn)

    ActionScript 3.0 編程體驗(yàn)

    日前,Adobe公司發(fā)布了Flash的最新版本Flash Professional 9 ActionScript 3.0 Preview,這是Flash 9的預(yù)覽版,正式版本估計(jì)要到2007年才會(huì)推出,
    2008-03-03
  • AS3打開新窗口不被屏蔽的代碼

    AS3打開新窗口不被屏蔽的代碼

    有時(shí)候flash打開的網(wǎng)址會(huì)出現(xiàn)被屏蔽的現(xiàn)象,如何能輕松的打開而不被屏蔽呢,下面是具體的代碼。
    2010-08-08
  • AS3 中的package(包)應(yīng)用實(shí)例代碼

    AS3 中的package(包)應(yīng)用實(shí)例代碼

    初學(xué)者在學(xué)習(xí)AS3時(shí)會(huì)遇到什么樣的問(wèn)題呢?只有從初學(xué)的角度來(lái)實(shí)踐,才能知道,package 這個(gè)高手們必玩的內(nèi)容,對(duì)初學(xué)者來(lái)說(shuō)或許就有一些困惑。
    2008-08-08

最新評(píng)論

阿鲁科尔沁旗| 宁津县| 三明市| 伊宁市| 武汉市| 辰溪县| 沧州市| 南皮县| 邮箱| 车致| 静海县| 梅河口市| 含山县| 长乐市| 侯马市| 宜良县| 韶关市| 都匀市| 衡南县| 贵州省| 大余县| 金溪县| 清河县| 海晏县| 临湘市| 伊春市| 建水县| 绍兴县| 南溪县| 云安县| 林西县| 察隅县| 朔州市| 湘潭市| 蓝田县| 牙克石市| 易门县| 石家庄市| 洪江市| 商洛市| 巴楚县|