WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十五)完美捕捉精灵之神器 -- HitTest

 2010-09-30 20:48:15 来源:WEB开发网   
核心提示: public static Cursor[] GameCursors = new Cursor[4]; /// <summary> /// 返回指定标号光标 /// </summary> /// <param name="sign">标号

        public static Cursor[] GameCursors = new Cursor[4];

        /// <summary>

        /// 返回指定标号光标

        /// </summary>

        /// <param name="sign">标号</param>

        /// <returns>光标</returns>

        public static Cursor getCursor(int sign) {

            if (GameCursors[sign] == null) {

                GameCursors[sign] = new Cursor(new FileStream(string.Format(@"Cursors\{0}.ani", sign), FileMode.Open, FileAccess.Read, FileShare.Read));

            }

            return GameCursors[sign];

        }

一切就绪,现在正式开始实现游戏窗体的鼠标移动事件。既然是鼠标在地图上滑动时产生的效果,因此我们首先添加游戏窗体鼠标移动事件:MouseMove="Window_MouseMove",然后在后台代码中的Window_MouseMove方法里写入相应内容:

        private void Window_MouseMove(object sender, MouseEventArgs e) {

            this.Cursor = e.Source is QXSpirit ? Super.getCursor(1) : this.Cursor = Super.getCursor(0);

        }

假如鼠标经过的对象是QXSpirit类型,则鼠标的光标变为1号,其他情况时,鼠标光标变为0号。这种效果对于做习惯了.NET网站开发的朋友们来说再熟悉不过了,好比导航栏上的鼠标悬停图片切换CSS或JS效果。

上一页  1 2 3 4 5 6 7  下一页

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接