C# 创建滚动世界的最佳方式是什么?
在这个游戏中,我试图创造,玩家将能够去所有的方向 我添加了一个图像(1024x768 2d纹理)作为背景或地形 现在,当玩家移动时,我想展示一些东西 例如,假设一盏灯,当玩家移动足够多时,他将看到一盏灯。若他回去,灯就会消失,因为它不会再出现在屏幕上了 如果我不清楚,想想马里奥。当你再往前走,硬币盒就会出现,如果你再往回走,它们就会消失。但背景将永远保持不变 我想如果我在屏幕上产生我所有的精灵,但在像15991422这样的位置它将是不可见的,因为屏幕只有1024x768,当玩家移动时,我会将那个精灵的位置设置为1599-11422-1,依此类推。这是一个好方法吗 有更好的方法吗?我会研究。这是一个实际的例子 如果这是您需要的,那么这里有一个带有源代码的教程C# 创建滚动世界的最佳方式是什么?,c#,xna,sprite,C#,Xna,Sprite,在这个游戏中,我试图创造,玩家将能够去所有的方向 我添加了一个图像(1024x768 2d纹理)作为背景或地形 现在,当玩家移动时,我想展示一些东西 例如,假设一盏灯,当玩家移动足够多时,他将看到一盏灯。若他回去,灯就会消失,因为它不会再出现在屏幕上了 如果我不清楚,想想马里奥。当你再往前走,硬币盒就会出现,如果你再往回走,它们就会消失。但背景将永远保持不变 我想如果我在屏幕上产生我所有的精灵,但在像15991422这样的位置它将是不可见的,因为屏幕只有1024x768,当玩家移动时,我会将那个
有两种方法可以达到这个效果
- --漂亮的地图编辑器
- --用于使用平铺贴图的XNA库
最好只绘制当前可见的对象。在不知道您使用的是哪种语言或软件包的情况下,很难对其进行评论。完成基本滚动后,尝试实现一些截锥剔除。这就是只画在屏幕上实际可见的对象,避免不必要地画那些无论如何都看不见的东西 我更喜欢第二种解决方案(移动播放器和摄像头)-这对我来说更容易,但可能只是个人偏好。根据标签,C#和XNa是一个安全的假设;)+1表示“仅绘制当前可见的对象”。绘制不可见的对象总是一个坏主意,因为渲染通常非常昂贵,即使是二维渲染也是如此