以下引用☆流星☆~~~于2009-4-27 18:21:49的发言:
虾叫Z值啊?
以下引用tommay于2009-4-27 19:04:02的发言:
请问LZ是想所有图片都在角色下面,还是可以自行调整角色和图片的遮挡关系?
# 生成角色活动块
@character_sprites = []
for i in $game_map.events.keys.sort
sprite = Sprite_Character.new(@viewport2, $game_map.events)
@character_sprites.push(sprite)
end
@character_sprites.push(Sprite_Character.new(@viewport2, $game_player))
以下引用tommay于2009-4-27 22:04:48的发言:
然后事件中直接显示图片吗?为什么我改了之后还是图片能挡住角色呢?
以下引用亿万星辰于2009-4-27 22:57:51的发言:
给Game_Picture追加个方法就好了,默认图片的z值是根据图片的编号来的,但图片显示部分是放在viewport2里的,而地图远景雾人物事件这些都是放在viewport1里的,所以即使你把图片本身的z值改的再小,也会因为viewport2的z值本身就比viewport1大而始终显示在角色上方。
想要让角色遮挡到图片,首先要把图片显示放到和角色一起的viewport1里,接着就是要让图片的z值根据角色的z值来发生一些改变,而不是默认的编号
self.z = $game_player.screen_z
这样就出现一个好玩的现象,首先在我们要显示出图片的区域放置一个有行走图的事件,接着我们会发现,每当角色走到这个图片的下方时,这个图片的显示都会有比较显著的变化。
以下引用紫苏于2009-4-28 0:00:36的发言:
我那样的话就是把角色放到图片的 viewport2 中,原理是一样的~
self.z = $game_player.screen_z 是让图片的 z 次序随时保持和角色行走图的 z 次序相同,而角色行走图的 z 次序是随着 y 坐标变化而变化的——地图最南边最高,最北边最低——为了建立事件角色之间的遮挡关系~
所以当角色在事件北方时,z 次序比事件小,图片被事件挡住;当角色在事件南方时,z 次序超过了事件,事件被图片挡住……
以下引用亿万星辰于2009-4-28 7:05:36的发言:
都放到viewport2里,viewport2本身的z值就比viewport1的z值高,那viewport2里所有的东西都会在viewport1上面,包括你放到里面的所有事件和角色行走图,那么你会看到事件永远都保持一个“总在最前”的效果,压着地图元件、远景、雾。
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |