Project1

标题: 我用了鼠标脚本,请问如何判定鼠标点击图片时执行事件? [打印本页]

作者: fxwd    时间: 2012-5-7 19:05
标题: 我用了鼠标脚本,请问如何判定鼠标点击图片时执行事件?
就是这个样子,准备做一个游戏,必须用到鼠标点击图片的效果,请问如何可以做到?另外如何判定鼠标移动到图片的时候更改图片色调?谢谢了。dsu_plus_rewardpost_czw
作者: Seraglio_King    时间: 2012-5-8 09:34
不太清楚你的问题,是在游戏地图点击事件图像执行该事件还是在脚本生成的场景点击图片执行方法?
作者: Luciffer    时间: 2012-5-8 11:53
图片选框吗?还是类似于小游戏的图片事件?
作者: fxwd    时间: 2012-5-11 22:57
Seraglio_King 发表于 2012-5-8 09:34
不太清楚你的问题,是在游戏地图点击事件图像执行该事件还是在脚本生成的场景点击图片执行方法? ...

你玩过三国志不?举个例子吧,我要出征,要选将,我想用图片的方式选将,点击后更改一些数据(就是启动事件),怎么弄啊?
作者: Seraglio_King    时间: 2012-5-12 00:09
本帖最后由 Seraglio_King 于 2012-5-12 00:33 编辑

就是很简单的鼠标点击嘛
如果你用的鼠标脚本已经有了基本的区域判定,点击判定,并且是建立在Window_Selectable的
那么你可以直接套用Window_Selectable,首先建立一个带按钮的窗体
只要你的窗体< Window_Selectable就行了

然后设定这个窗体的各项数值,x,y,width,height等等之类的
然后是画图像,我也举个例子吧,建一个生成图片的方式
def draw_project(index)
    bitmap = Cache.XXX(“图片名”)
    rect = item_rect(index)
    pro_x = picture_x(index)
    pro_y = picture_y(index)
    contents.blt(pro_x, pro_y, bitmap, rect)
end
这里面Cache.XXX是用来判定你放图片的文件夹位置的,放哪里你就用哪个名字,图片名就是你的图片名称
然后图片显示的x,y坐标由pro_x,pro_x来控制
我另外建了方式picture_x, picture_y来判断不同图片显示的不同位置,如果图片少,你也可以在这个方式里直接指定,用case比较方便
最后是输出图片

如何控制图片的index?
用生成按钮时所使用add_command("", :XXX)
每次使用add_command("", :XXX),都会想窗体的@list添加一个可选择的command,index数量也会增加1
并且第几次添加,就代表这个command命令所对应的index(从0开始算)

还有一点需要注意的是你要把item_rect重写下,这个是用来判定区域的,主要目的是符合你图片的大小和坐标
如果鼠标原本有用,但在你的图片窗体失效了,那么就是鼠标获取区域失败了,你也要根据你的情况,重写或调整鼠标用来判定区域的方式
其他的排版方面也要做一定调整

至于点击之后的效果,你需要在调用该窗体的Scene类来设定
也是建立方式
def XXX
  {这里就可以进行各种数据操作了}
end
完成这个方式之后,你可以将这个方式添加到你建立的窗体当中
例如你的窗体名字叫做Window_ABC
那么你调用了该窗体
@command_ABC = Window_ABC.new
之后就可以将该方式添加到@command_ABC中
@command_ABC.set_handler(:XXX,      method(:XXX))
前面的XXX是你在建立编写窗体的脚本时设定的希望调用该方式的symbol
是在add_command("", :XXX)里面控制的
后面的XXX就是你刚才写的方式名

以上我说的这些要求你有一定的脚本基础,如果你什么都不懂,那么两条路:学脚本或者放弃这一设想
因为你要做出的这种效果具备不普遍性,没有脚本会帮你量身定做一个这样的套路

当然,如果你能找到人帮你做,也是一个方法,但那就不是你自己做了




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