设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2378|回复: 1
打印 上一主题 下一主题

[已经过期] 求问怎样实现主菜单鼠标移动变色

[复制链接]

Lv2.观梦者

梦石
0
星屑
270
在线时间
49 小时
注册时间
2017-6-6
帖子
23
跳转到指定楼层
1
发表于 2017-9-23 21:30:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我用了这个代码 把主菜单改成图片,求问怎么能让鼠标移过去他就变颜色??

JAVASCRIPT 代码复制
  1. var _Scene_Title_create = Scene_Title.prototype.create;
  2. Scene_Title.prototype.create = function () {
  3.     _Scene_Title_create.call(this);
  4.     this._commandWindow.visible = false;//不显示原始的文本菜单
  5.     this._commandWindow.x=Graphics.width;//移到画面外去,否则虽然不显示仍能点击
  6.     var btnimgs=["CmdStartGame", "CmdContinueGame", "CmdOptions"];
  7.     var clicks=[
  8.         function(){this.commandNewGame(); SoundManager.playOk();},
  9.         function(){this.commandContinue(); SoundManager.playOk();},
  10.         function(){this.commandOptions(); SoundManager.playOk();},
  11.  
  12.     ];
  13.     this._cmdButtons=[];//所有图片菜单
  14.     for(var i in btnimgs){
  15.         var sprite=new Sprite_Button();
  16.         sprite.width=184;
  17.         sprite.height=53;
  18.         sprite.bitmap=ImageManager.loadBitmap("img/mndtitle/", btnimgs[i]);
  19.         //sprite.anchor=new Point(0.5,0.5);//不要设置,设置这个会出现菜单点不中的问题,不清楚原因。
  20.         sprite.x=Graphics.width/2-92;
  21.         sprite.y=360+60*i;
  22.         sprite.setClickHandler(clicks[i].bind(this));
  23.         this._cmdButtons.push(sprite);
  24.         this.addChild(sprite);
  25.     }
  26.     this._cmdSelect=new Sprite(ImageManager.loadBitmap("img/mndtitle/", "CmdSelect"));//选中菜单的指示器
  27.     this._cmdSelect.anchor=new Point(1,0);//因为按钮的anchor是默认的(0,0),这个指示器要放在按钮左侧,所以让它的anchor为(1,0)更容易定位
  28.     this.addChild(this._cmdSelect);
  29. };

QQ截图20170923212850.jpg (9.8 KB, 下载次数: 11)

QQ截图20170923212850.jpg

Lv1.梦旅人

梦石
0
星屑
50
在线时间
370 小时
注册时间
2016-1-7
帖子
81
2
发表于 2017-9-24 00:07:25 | 只看该作者
本帖最后由 在野月光 于 2017-9-24 00:18 编辑

移动变色?什么意思?
如果只是想分配鼠标移入移出时的变化,
那么TouchInput._onMouseMove抄一下再改一下就是了。
比如(仅供参考):
JAVASCRIPT 代码复制
  1. Scene_Title.prototype.initialize = function() {
  2.         Scene_Base.prototype.initialize.call(this);
  3.         document.addEventListener('mousemove', this.onMouseMove.bind(this));        // <<< 添加
  4. };
  5.  
  6. Scene_Title.prototype.onMouseMove = function(event) {                //   <<< 新建
  7.         var x = Graphics.pageToCanvasX(event.pageX);
  8.         var y = Graphics.pageToCanvasY(event.pageY);
  9.         if(SceneManager._scene.constructor == Scene_Title){
  10.                 this.onMove(x, y);
  11.         }
  12. };
  13.  
  14. Scene_Title.prototype.onMove = function(x, y) {                //  <<< 新建
  15.         var 按钮 = [];
  16.         按钮[0] = {'左边': 20, '右边': 100, '顶边': 20, '底边': 40};        // 假设的按钮边界指标 A
  17.         按钮[1] = {'左边': 20, '右边': 100, '顶边': 40, '底边': 60};        // 假设的按钮边界指标 B
  18.         按钮[2] = {'左边': 20, '右边': 100, '顶边': 60, '底边': 80};        // 假设的按钮边界指标 C
  19.  
  20.         switch(true){
  21.                 case this.inButton(x, y, 按钮[0]) :
  22.                         console.log('鼠标移入了【按钮A】');
  23.                         // 接下来要做的事...
  24.                 break;
  25.                 case this.inButton(x, y, 按钮[1]) :
  26.                         console.log('鼠标移入了【按钮B】');
  27.                         // 接下来要做的事...
  28.                 break;
  29.                 case this.inButton(x, y, 按钮[2]) :
  30.                         console.log('鼠标移入了【按钮C】');
  31.                         // 接下来要做的事...
  32.                 break;
  33.                 default:
  34.                         console.log('鼠标移出,还原...?');
  35.                         // 接下来要做的事...
  36.                 break;
  37.         };
  38. };
  39.  
  40. Scene_Title.prototype.inButton = function(x,  y, 按钮) {                // <<< 新建
  41.         return x > 按钮.左边 && x < 按钮.右边 && y  > 按钮.顶边 && y < 按钮.底边;
  42. };

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-2 07:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表