AS3.0实现鼠标指针置换效果

AS3.0实现鼠标指针置换效果

作者:cao4811   类型:原创   来源:中国教程网论坛

 
  右键点击置换鼠标指针:


详细代码:
package 

{

        import flash.display.Bitmap;

        import flash.display.BitmapData;

        import flash.display.PixelSnapping;

        import flash.display.Sprite;

        import flash.events.Event;

        import flash.events.MouseEvent;

        import flash.geom.Matrix;

        import flash.text.TextField;

        import flash.text.TextFormat;

        import flash.ui.Mouse;

        import flash.geom.ColorTransform;



        public class Main extends Sprite 

        {

                private var _textField:TextField;

                private var _bitmapData:BitmapData;

                private var _bitmap:Bitmap;

                private var _colorTransform:ColorTransform = new ColorTransform(1, 1, 1, 1, -0x5, -0x5, -



0x5);

                private var _character:Array = ["★", "●", "▲", "◆", "*", "@", "+", "?","FLASH","中国教程



网"];

                public function Main():void 

                {

                        setupScreen();

                        

                        _textField = new TextField();

                        _textField.defaultTextFormat = new TextFormat("_sans", 36, 0xFFFFFF);

                        _textField.text = _character[0];

                        _textField.selectable = false;

                        _textField.autoSize = "left";

                        this.addChild(_textField);

                        

                        Mouse.hide();

                        stage.addEventListener(Event.ENTER_FRAME, onEnter);

                        stage.addEventListener(MouseEvent.CLICK, onClick);

                }

                private function setupScreen():void {

                        _bitmapData = new BitmapData(465, 465, false, 0x000000);

                        _bitmap = new Bitmap(_bitmapData, PixelSnapping.NEVER,true);

                        this.addChild(_bitmap);

                }

                private function onClick(event:MouseEvent):void {

                        _textField.text = _character[Math.floor(Math.random() * _character.length)];

                }

                

                private function onEnter(event:Event):void {

                        _textField.x = stage.mouseX - _textField.width / 2;

                        _textField.y = stage.mouseY - _textField.height / 2;

                        

                        _bitmapData.draw(this,new Matrix(0.99,0,0,0.99));

                        _colorTransform.redMultiplier = stage.mouseX / 465;

                        _colorTransform.greenMultiplier = stage.mouseY / 465;

                        _bitmapData.colorTransform(_bitmapData.rect, _colorTransform);

                }

        }

}


[本日志由 lan 于 2019-08-30 09:57 AM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.