在游戏开发中,鼠标指针一般都不会使用windows自带的鼠标指针,而会根据自己的游戏风格自定义鼠标指针,下面就举一个自定义鼠标指针的方法。
我们先在Flash中将需要的指针美术资源先编辑好,转换为swf文件。
下面是管理鼠标指针的主要代码:
package qg.managers
{
import flash.display.BitmapData;
import flash.display.Stage;
import flash.geom.Point;
import flash.ui.Mouse;
import flash.ui.MouseCursorData;
import qg.Global;
/**
* 鼠标指针管理
*/
public class CursorManager
{
// /**
// * 鼠标指针样式
// */
// public static var cursorHolder:Sprite;
// /**
// * 如果不为null,则指定只有在这个对象上面,才显示自定义指针
// */
// static public var showTarget:Sprite;
public static function registerNativeCursor(name:String, bitmapDataVec:Vector.<BitmapData>, hotSpot:Point, frameRate:uint=1):void
{
var cursorData:MouseCursorData = new MouseCursorData();
cursorData.data = bitmapDataVec;
cursorData.hotSpot = hotSpot;
cursorData.frameRate = frameRate;
Mouse.registerCursor(name, cursorData);
}
public static function unregisterNativeCursor(name:String):void
{
Mouse.unregisterCursor(name);
}
public static function set nativeCursor(name:String):void
{
Mouse.cursor = name;
Mouse.show();
}
public static function getCursorPos():Point
{
return new Point(getStage().mouseX,getStage().mouseY);
}
private static function getStage():Stage
{
return Global.instance.stage;
}
}
}
值得注意的是,所传入的鼠标指针美术资源的尺寸不能超过32*32px