Project1

标题: 鼠標響應圖片標題菜單。。。 [打印本页]

作者: 忻緣    时间: 2008-4-7 01:09
标题: 鼠標響應圖片標題菜單。。。
。。。今天發的第二個問題貼。。。{/gg}
那個。。。。關於圖片標題菜單。。。能支持鼠標響應咩。。。。怎咩做?
。。。那個。。。我要具體過程。。。。嗯。。。不要給我發站上那倆教程讓俺看。。。- -俺確實看不懂。。。。

好吧。。。大概酱紫了。。。{/gg}
作者: 雷欧纳德    时间: 2008-4-7 01:23
一种做法是判断鼠标位置
当鼠标位置在某个范围内的时候执行某事件

另外一个做法就是夏娜的图片响应鼠标
利用alpha通道的特性,当鼠标移动到这个图片上的时候响应相应的图片和公共事件

主站搜索一下都找得到范例的,说明都写得很直白,我觉得应该能看懂的
lz先自己44吧
作者: 9244579    时间: 2008-4-7 02:39
我的范例给你哈!
http://rpg.blue/viewthread.php?tid=81514
作者: 忻緣    时间: 2008-4-8 01:53
以下引用9244579于2008-4-6 18:39:55的发言:

我的范例给你哈!
http://rpg.blue/viewthread.php?tid=81514

謝謝。。但。。我說的不是事件做標題。。- -。。。不然事件做標題俺也會。。- -
作者: 水迭澜    时间: 2008-4-8 01:58
你是说用脚本制作的图片标题菜单?这个?
http://rpg.blue/web/htm/news167.htm

我一般的做法是直接放个window在后边= =

建议你采用判断鼠标坐标的方法。
Mouse.get_mouse_pos可以获取鼠标坐标值……

    mouse_x, mouse_y = Mouse.get_mouse_pos # 分别是X,Y坐标
if mouse_x > XXX and mouse_y < XX 之类的……

如果鼠标在你判断的标题位置,并且鼠标左键被按下,那么就调用command_new_game
或command_continue之类……
作者: 忻緣    时间: 2008-4-8 02:08
以下引用水迭澜于2008-4-7 17:58:30的发言:

你是说用脚本制作的图片标题菜单?这个?
http://rpg.blue/web/htm/news167.htm

我一般的做法是直接放个window在后边= =

建议你采用判断鼠标坐标的方法。
Mouse.get_mouse_pos可以获取鼠标坐标值……

   mouse_x, mouse_y = Mouse.get_mouse_pos # 分别是X,Y坐标
if mouse_x > XXX and mouse_y < XX 之类的……

如果鼠标在你判断的标题位置,并且鼠标左键被按下,那么就调用command_new_game
或command_continue之类……


[本贴由作者于 2008-4-7 18:00:53 最后编辑]

其實差不多啦。。。。但我用的是介個。。。
http://rpg.blue/web/htm/news16.htm
那個。。。介個的畫。。可以一樣醬紫改咩?

作者: 水迭澜    时间: 2008-4-8 02:09
恩。可以

在update的部分用get_mouse_pos得到坐标,然后用if什么什么的判断
条件满足就调用command~
其实不难的,呵呵
作者: 忻緣    时间: 2008-4-8 02:11
以下引用水迭澜于2008-4-7 18:09:36的发言:

恩。可以

在update的部分用get_mouse_pos得到坐标,然后用if什么什么的判断
条件满足就调用command~
其实不难的,呵呵

呃。。。那個。。。其實俺咩看懂上面那個。。。{/gg}能不能。。。詳細點。。。。
作者: 水迭澜    时间: 2008-4-8 02:39
def update里


x,y = Mouse.get_mouse_pos
if x < 320 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)
#数字是举例。你随便改
command_new_game #开始新游戏
elsif X什么什么什么(参考前面那段继续改= =)
command_continue
elsif 什么什么什么
command_shutdown
end

作者: 忻緣    时间: 2008-4-8 03:09
那個。。是新寫一個腳本咩?
作者: 水迭澜    时间: 2008-4-8 03:19
Scene_Title的update
还以为LZ已经掌握了一些东西了就没说
作者: 忻緣    时间: 2008-4-8 03:44
以下引用水迭澜于2008-4-7 19:19:15的发言:

Scene_Title的update
还以为LZ已经掌握了一些东西了就没说


[本贴由作者于 2008-4-7 19:19:56 最后编辑]

呃。。。俺。。。對於腳本。。。一般都是左耳進右耳出噠。。。{/gg}
那個。。。是將
    x,y = Mouse.get_mouse_pos
if x < 320 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)
#数字是举例。你随便改
command_new_game #开始新游戏
elsif X什么什么什么(参考前面那段继续改= =)
command_continue
elsif 什么什么什么
command_shutdown
end

插入到update下面咩?
介個。。。
if x < 320 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)
是選項的坐標吧?
介個吶?
elsif X什么什么什么

也是咩?
作者: 水迭澜    时间: 2008-4-8 03:50
对,都是。
注意不要漏了最后的Mouse的按键判断~
作者: 忻緣    时间: 2008-4-8 04:32
那個。。是大概醬紫咩?
  def update
  chaochaocommandchaochao
     x,y = Mouse.get_mouse_pos
     if x < 135 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)
     command_new_game #开始新游戏
     elsif x < 135 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)
     command_continue
     elsif x < 135 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)
     command_shutdown
    end

。。。
那個。。。判斷怎咩寫。。。{/gg}
那個。。。為什咩用“<”“>”吖。。。?不能等於?
作者: 水迭澜    时间: 2008-4-8 04:34
坐标必须在某个范围内阿
那个数字是像素。
等于的话,那就只有一像素的点击范围了。
你自己计算一下你那个东西的宽高,然后确保你的数字在那个长方形里边
P。S 你自己测试有问题么?
P。P。S 你小学?初中?高中?(在认真考虑要不要讲函数坐标系知识orz)
作者: 忻緣    时间: 2008-4-8 04:36
以下引用水迭澜于2008-4-7 20:34:04的发言:

坐标必须在某个范围内阿
那个数字是像素。
等于的话,那就只有一像素的点击范围了。
你自己计算一下你那个东西的宽高,然后确保你的数字在那个长方形里边
P。S 你自己测试有问题么?
P。P。S 你小学?初中?高中?(在认真考虑要不要讲函数坐标系知识orz)

那個。。。。俺初一。。。。函數坐標還咩教。。。{/gg}。。。。
那個。。。有一個Y坐標是醬紫噠。。
y=(i+1)/2*35+240
那個。。。。咋解釋?
作者: 水迭澜    时间: 2008-4-8 05:04
orz|||果然……
那个,X > 你要点击的矩形离画面左边的像素,X < 矩形离画面左边的像素 + 矩形宽
Y > 矩形离画面上边的像素,Y <  矩形离画面上边的像素 + 矩形高

这么说你理解吧?
然后三个矩形不能重叠。也就是说X,Y你还要自己对清楚
作者: 忻緣    时间: 2008-4-8 05:35
以下引用水迭澜于2008-4-7 21:04:20的发言:

orz|||果然……
那个,X > 你要点击的矩形离画面左边的像素,X < 矩形离画面左边的像素 + 矩形宽
Y > 矩形离画面上边的像素,Y <  矩形离画面上边的像素 + 矩形高

这么说你理解吧?
然后三个矩形不能重叠。也就是说X,Y你还要自己对清楚


[本贴由作者于 2008-4-7 21:04:58 最后编辑]

那個。。。。
不。。。是。。。很。。。理。。。解。。。吧。。。{/gg}
那個。。。。乃說噠矩形是指單個選項咩?
作者: 水迭澜    时间: 2008-4-8 05:45
对……不然你觉得有可能三个选项一起点么……
作者: 忻緣    时间: 2008-4-8 06:40
那個。。。是醬紫咩?
if x < 135 and x > 200 and y < 240 and y > 160 and Mouse.trigger?(Mouse::Left)

135是矩形距離左邊噠像素。。
200是矩形離左邊像素+矩形寬。。。
240矩形離畫面上邊的像素。。。
160是矩形離畫面上邊的像素+矩形高。。。
是醬紫咩?
作者: 水迭澜    时间: 2008-4-8 06:59
x < 200
x > 135
注意范围………………一个数不能同时大于200又小于135这个你该知道吧……
作者: 忻緣    时间: 2008-4-9 01:58
以下引用水迭澜于2008-4-7 22:59:03的发言:

x < 200
x > 135
注意范围………………一个数不能同时大于200又小于135这个你该知道吧……


[本贴由作者于 2008-4-7 22:59:18 最后编辑]

嗯。。。那個只是舉例。。。。{/gg}。。那個。。我理解的那個
對咩?
作者: 傅立叶级数    时间: 2008-4-9 07:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: 忻緣    时间: 2008-4-10 03:23
為什麽吶。。。
     x,y = Mouse.get_mouse_pos
     if x > 135 and x < 279 and  y > 310 and y < 340 and Mouse.trigger?(Mouse::Left)
     command_new_game #开始游戏
     elsif x > 135 and x < 279 and y > 270 and y < 160 and Mouse.trigger?(Mouse::Left)
     command_continue #载入游戏
     elsif x > 135 and x < 279 and y > 300 and y < 160 and Mouse.trigger?(Mouse::Left)
     command_shutdown #退出游戏
    end

出錯耶。。。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1