liqunsz
发表于 2010-6-13 09:26:56
引用第7楼secondsen于2010-06-13 08:58发表的:
$ShowCursor = Win32API.new("user32", "ShowCursor", 'i', 'l')
$GetCursorPos = Win32API.new("user32", "GetCursorPos", 'p', 'i')
$ScreenToClient = Win32API.new("user32", "ScreenToClient", 'ip', 'i')
$GetActiveWindow = Win32API.new("user32", "GetActiveWindow", nil, 'l')
$Window_HWND = $GetActiveWindow.call
....... images/back.gif
那如果改换成使用DLL的版本会有什么改善吗??
secondsen
发表于 2010-6-13 14:02:32
DLL也就调用这些API能有什么不同。。。
liqunsz
发表于 2010-6-13 14:34:58
啊呀呀,偏离主题了…………
版大没有办法解决么??
我不想做一个使用鼠标的游戏但是开始界面又要用键盘额
secondsen
发表于 2010-6-13 14:40:28
需要做测试啊。。。我晚上给你试验试验,先自己忙去吧,我午睡的时间到了啊陪GF真是累人的活。。。偏偏每次我都屁颠屁颠的跟过去
secondsen
发表于 2010-6-13 16:28:29
$mapname你有没有注意到这个变量。。。实干什么的?这个是自己定义的的变量,非默认脚本的。
secondsen
发表于 2010-6-13 16:37:28
我似乎有点明白了。。。你这个是直接复制的别人的工程中的脚本。。。所以出了问题是吧?
secondsen
发表于 2010-6-13 16:41:30
下次不要再无脑复制了。。OTZ。。。我给你去掉了一些没用的东西,另外把脚本格式改得好看一点。。你用这个吧
另外:我激情测试。。这个脚本我没改之前就是好用的。。。。
这是注释 # cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片
注意上面写的是 02你是不是写成了 2 了?我测试这个脚本没有问题的。。。。可能就是你文件名少了一个0。。我第一次测试就出现了这个问题才没有转变的。。。
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
#格式:显示的cmd图片的命名格式为:
# cmd调用公共事件编号_名字
# cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片
#
#即,带有cmd的为可以点击的图片,点击后执行相应的公共事件.....
#不带cmd的图片没任何影响。。。
#==============================================================================
class Game_Picture
def name=(str)
@name = str
end
end
class Sprite_Picture
alias update_old update
def update
update_old
begin
return if@picture_name.nil? or @picture_name == ""
rescue
return
end
mx,my = Mouse.get_mouse_pos
lx = self.x - self.ox
rx = lx + self.bitmap.width
ty = self.y - self.oy
by = ty + self.bitmap.height
if mx < lx or mx > rx or my < ty or my > by or
self.bitmap.get_pixel(mx-lx,my-ty).alpha == 0
@picture.name = @picture.name.split(/_/)+"_"+@picture.name.split(/_/)
return
end
if @picture.name.split(/_/).nil?
picname = @picture.name + "_02"
#第2张图片不存在的时候不显示
if FileTest.exist?("Graphics/Pictures/#{picname}.png")
@picture.name = picname
end
end
#对话框存在的时候不启动事件
if Mouse.trigger?(Mouse::LEFT) and !$game_system.map_interpreter.running?
@picture.name.split(/_/).sub(/cmd(+)/,"")
$game_temp.common_event_id = $1.to_i
end
end
end
liqunsz
发表于 2010-6-13 16:49:37
很感谢版大的帮助
但是【这才是主要部分】
还是没有效果啊啊啊啊!!麻烦版大这么久但……
实在是不知道为什么……
确实是从别的工程里面复制的,但是那个工程好好地,为什么我的就不行捏
画外音:刚才打不开幻森额……咋了捏
这是我的工程,鼠标运作还是正确的,但是那几个按钮都点不下去……
至于图片质量啥的就不要说啦~羞射~
secondsen
发表于 2010-6-13 16:58:10
另外:我激情测试。。这个脚本我没改之前就是好用的。。。。
这是注释 # cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片
注意上面写的是 02你是不是写成了 2 了?我测试这个脚本没有问题的
你确定你的文件名没有错。。。而且点在了有颜色的地方么??
这样。。我把工程传上来你看看吧。。我测试真的没问题
里面有一个 name.png的图片。。。这个图片一点用都没有。。我只是做个试验而已
先跟 地图上的NPC说话。。图片就显示出来了
liqunsz
发表于 2010-6-13 17:05:04
引用第18楼secondsen于2010-06-13 16:58发表的:
另外:我激情测试。。这个脚本我没改之前就是好用的。。。。
这是注释 # cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片
注意上面写的是 02你是不是写成了 2 了?我测试这个脚本没有问题的
....... images/back.gif
我的意思是鼠标经过正常……公共事件打不开……
我在第一页说过了…………
确实很激情测试…………
忽然发现已经变成了热门主题了……