Project1
标题:
为什么设了z=100还显示在下面?
[打印本页]
作者:
受pia专用ID
时间:
2012-5-18 12:38
标题:
为什么设了z=100还显示在下面?
本帖最后由 受pia专用ID 于 2012-5-18 13:29 编辑
输入如下脚本
class A
def initialize
@vp = Viewport.new(0, 0, 544, 416)
@sp = Sprite.new(@vp)
@sp.z = 100
@sp.bitmap = Cache::system("Mouse")
end
end
$a = A.new
loop do
Graphics.update
end
顺利显示图形Mouse
但改动后
class A
def initialize
@vp = Viewport.new(0, 0, 544, 416)
@sp = Sprite.new(@vp)
@sp.z = 100
@sp.bitmap = Cache::system("Mouse")
end
end
$a = A.new
vp = Viewport.new(0, 0, 544, 416)
sprite = Sprite.new(vp)
sprite.bitmap = Cache.system("Title")
sprite.x = 10
loop do
Graphics.update
end
却发现Mouse显示在Title下面。为什么在class A中设了z = 100还显示在下面?
我用的是rmvx1.02 dsu_plus_rewardpost_czw
作者:
tommay
时间:
2012-5-18 15:24
本帖最后由 tommay 于 2012-5-18 15:24 编辑
@sp是在@vp这一个视口中,
sprite是在vp这个视口中的。
虽然两个视口的z值都没指定,也就是都默认为0,但vp这个视口后创建,后创建的在上方显示,所以sprite在上方显示。
总之一句话,两个精灵的叠放次序先看视口的z值,视口相同看再精灵z值。
解决办法是把sprite = Sprite.new(vp)改成sprite = Sprite.new(@vp)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1