Flash AS3制作鼠標跟隨噴槍涂鴉效果(2)_Flash教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:Flash as入門:文本與字符串
      本例繼續(xù)講解AS的基礎知識,今天講解的是AS入門第六課文本與字符。 文本與字符串 在制作flash動畫時,常常會用到文本和字符串,首先來看看文本. 一 創(chuàng)建文本框 在創(chuàng)作環(huán)境中創(chuàng)建文本

      11.打開動作面板輸入下列代碼:
      /*我們需要創(chuàng)建一個BitmapData對象以便以一個像素圖形對象工作。我們希望wallCanvas一開始時是透明的,這就是為什么我們用0x00ffffff值作參數(shù)。*/
      var wallCanvas:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight - 100,true, 0x00ffffff);
      //創(chuàng)建一個歸類于 BitmapData對象的位圖對象。
      var bitmap:Bitmap = new Bitmap(wallCanvas);
      //在舞臺上添加一個位圖
      addChild (bitmap);
      //監(jiān)聽墻上的鼠標點下事件
      drawingArea.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);
      //監(jiān)聽整個舞臺上的鼠標放開事件
      stage.addEventListener (MouseEvent.MOUSE_UP, mouseUpHandler);
      //噴槍的顏色
      var color:uint;
      //噴槍的最大半徑
      var maxRadius:Number;
      //噴槍的密度
      var density:Number;
      //當鼠標在墻上點下時調用
      function mouseDownHandler (event:MouseEvent):void {
      //增加EVENT_FRAME 這樣我們可以在每一幀繪制
      addEventListener (Event.ENTER_FRAME, onEnterFrame);
      }
      //當鼠標放開時調用
      function mouseUpHandler (event:MouseEvent):void {
      //如果鼠標放開時(沒有繪制),我們就不需要EVENT_FRAME了
      removeEventListener (Event.ENTER_FRAME, onEnterFrame);
      }
      //這個函數(shù)負責整個繪制過程
      function onEnterFrame (event:Event):void {
      //從sizeSlider中獲得尺寸
      maxRadius = sizeSlider.value;
      /*從myColorPicker.中獲得顏色,當我們繪制時(我們循環(huán)繪制像素)我們使用0xff000000創(chuàng)建像素的顏色。*/
      color = myColorPicker.selectedColor 0xff000000;
      //從densitySlider中獲得密度
      density = densitySlider.value;
      /*這個密度定義了我們循環(huán)了多少次,換言之,在每一幀繪制了多少像素*/
      for (var i:int = 0; i < density; i ) {
      //計算一個隨機角度
      var angle:Number = Math.random() * Math.PI * 2;
      //計算一個被畫的像素的隨機半徑
      var radius:Number = Math.random() * maxRadius;
      //計算x和y的位置
      var xPos:Number = mouseX Math.cos(angle) * radius;
      var yPos:Number = mouseY Math.sin(angle) * radius;
      //畫像素
      wallCanvas.setPixel32 (xPos, yPos, color);
      }
      }
      你已經完成了,如果有什么問題,請訪問論壇。快樂的一天!

      下面給出本例的代碼,朋友們可以研究下var wallCanvas:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight - 100,true, 0x00ffffff);
      var bitmap:Bitmap = new Bitmap(wallCanvas);
      addChild (bitmap);
      drawingArea.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);
      stage.addEventListener (MouseEvent.MOUSE_UP, mouseUpHandler);
      var color:uint;
      var maxRadius:Number;
      var density:Number;
      function mouseDownHandler (event:MouseEvent):void {
      addEventListener (Event.ENTER_FRAME, onEnterFrame);
      }
      function mouseUpHandler (event:MouseEvent):void {
      removeEventListener (Event.ENTER_FRAME, onEnterFrame);
      }
      function onEnterFrame (event:Event):void {
      maxRadius = sizeSlider.value;
      color = myColorPicker.selectedColor 0xff000000;
      density = densitySlider.value;
      for (var i:int = 0; i < density; i ) {
      var angle:Number = Math.random() * Math.PI * 2;
      var radius:Number = Math.random() * maxRadius;
      var xPos:Number = mouseX Math.cos(angle) * radius;
      var yPos:Number = mouseY Math.sin(angle) * radius;
      wallCanvas.setPixel32 (xPos, yPos, color);
      }
      }

      Flash AS3制作鼠標跟隨噴槍涂鴉效果

      分享:Flash教程:用AS3代碼制作躲避碰撞的盒子
      簡介:本例介紹運用Flash的AS3代碼制作躲避碰撞的盒子效果,譯者詳細解釋了代碼的運用,喜歡本效果的朋友可以到論壇提交作業(yè)~~ 效果演示:(請用鼠標點擊小球觀看效果) 在這個Actions

      共2頁上一頁12下一頁
      來源:中國教程網//所屬分類:Flash教程/更新時間:2009-03-12
      相關Flash教程