Project1
标题:
不使用Graphics.update的移动
[打印本页]
作者:
恐惧剑刃
时间:
2013-12-16 20:01
标题:
不使用Graphics.update的移动
可能标题没描述清楚,就是一般窗口移动比如 [*1..10].each{|time| @select.x += 10 ; Graphics.update}
如果不使用Graphics.update就看不到移动效果,但如果使用Graphics.update画面会暂时卡一下,如何解决?
话说这个问题困扰我好久了。。。。。
谢谢。
作者:
yagami
时间:
2013-12-16 22:43
本帖最后由 yagami 于 2013-12-16 22:50 编辑
其实并不是卡 只是没有inputupdate 你在写Graphics.update 的时候 把input也带上 这input不需要任何功能 好比 如果有鼠标系统的话 如果单纯只Graphics 那鼠标就卡住了 有了input 鼠标就能移动了 如果不写功能的话 也只能单纯的移动而已
还有就是 图片移动
def update
loop do
@aaa.x+=1
Graphics.update
break if .....
end
........
end
你如果写出这样肯定会卡住 在你当前的update里做Graphics update 这样写法是不对的
def update
@time+=1
@time%=20
@aaa.x+=1 if @time==0
........
end
我一般都是这么写的 这样就是20次刷新 移动一次了
作者:
无脑之人
时间:
2013-12-16 22:49
本帖最后由 无脑之人 于 2013-12-16 23:12 编辑
不使用Graphics.update就不会更新图形啊- -你需要做的是在Graphics.update的同时update其他的所需要的,譬如Input.update,Mouse.update不过一般来说需要包括的应该是当前Scene的update吧……
所以建议把这个update过程添加到Scene的update过程里面
def global_update()
Graphics.update
Input.update
Mouse.update
Kboard.update
#......
$ObjUpdate ||= []
$ObjUpdate.each {|item| item.update}
end
class SpriteMiao < Sprite
#......
def update
#......
end
end
无论是is_a还是has_a都可以,只要有update就好
作者:
SuperMario
时间:
2013-12-17 01:34
楼主是想要同时更新地图的效果吧。
看看地图场景就懂了。
作者:
晴兰
时间:
2013-12-18 20:40
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1