加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 Sion 于 2013-5-25 17:53 编辑
小白表示有了点C++基础,就想去到处改默认脚本……
然后发现自己实在DT,于是下了@Sion 大大的VA鼠标脚本来学习&入门,然后就一堆问题来了……
背景:1张图就够了……
问题1:在大地图上点击右键后,会发现背景那块会留着个鼠标……怎么去掉啊?
个人觉得关键的代码:
#-------------------------------------------------------------------------- # ● 鼠标指针精灵 ——> 来自Sion大大的部分代码 #-------------------------------------------------------------------------- def creat_mouse_sprite @mouse_sprite = Sprite.new if File.exist?('Graphics/System/Cursor.png') @mouse_sprite.bitmap = Bitmap.new('Graphics/System/Cursor') else if $no_arrowpic_warn msgbox('未找到文件:Graphics\System\Cursor.png “鼠标指针”将使用游戏自带图片 该提示可以在脚本内关闭') end @mouse_sprite.bitmap = Bitmap.new(24, 24) @mouse_sprite.bitmap.blt(0, 0, Cache.system('Iconset'), Rect.new(5 * 24, 24 * 24, 24, 24)) end @mouse_sprite.z = 9999 Show_Cursor.call(0) end #-------------------------------------------------------------------------- # ● 更新 ——> 来自Sion大大的部分代码 #-------------------------------------------------------------------------- def update @mouse_sprite.x, @mouse_sprite.y = get_mouse_pos left_state = Get_Key_State.call(0x01) left_state[7] == 1 ? @left_state +=1 : @left_state = 0 right_state = Get_Key_State.call(0x02) right_state[7] == 1 ? @right_state +=1 : @right_state = 0 update_double_click @left_state == 1 ? @ck_count = 0 : @ck_count += 1 end
#--------------------------------------------------------------------------
# ● 鼠标指针精灵 ——> 来自Sion大大的部分代码
#--------------------------------------------------------------------------
def creat_mouse_sprite
@mouse_sprite = Sprite.new
if File.exist?('Graphics/System/Cursor.png')
@mouse_sprite.bitmap = Bitmap.new('Graphics/System/Cursor')
else
if $no_arrowpic_warn
msgbox('未找到文件:Graphics\System\Cursor.png
“鼠标指针”将使用游戏自带图片
该提示可以在脚本内关闭')
end
@mouse_sprite.bitmap = Bitmap.new(24, 24)
@mouse_sprite.bitmap.blt(0, 0, Cache.system('Iconset'),
Rect.new(5 * 24, 24 * 24, 24, 24))
end
@mouse_sprite.z = 9999
Show_Cursor.call(0)
end
#--------------------------------------------------------------------------
# ● 更新 ——> 来自Sion大大的部分代码
#--------------------------------------------------------------------------
def update
@mouse_sprite.x, @mouse_sprite.y = get_mouse_pos
left_state = Get_Key_State.call(0x01)
left_state[7] == 1 ? @left_state +=1 : @left_state = 0
right_state = Get_Key_State.call(0x02)
right_state[7] == 1 ? @right_state +=1 : @right_state = 0
update_double_click
@left_state == 1 ? @ck_count = 0 : @ck_count += 1
end
问题2:鼠标点击左键的时候无论在不在选项上都会相当于按了空格键
所以就想能否获取当前的活动选项的坐标范围?以判断鼠标是否真的点中了选项
注意是活动选项,也就是按下空格,发生响应的那个选项
比如图片现在的状态是进入了【技能】选项,准备选择人物选项,那么活动的选项则是艾里克的那个人物选择框,主要问题就是:获取活动窗口,的当前选项,的坐标范围……
PS:由于是想自己来改&学习,所以发了个主帖,大大莫怪
|