Articles of 侧滚动

在Unity3D中创建一个2D地形

我正在尝试在Unity中制作可在“场景”视图中编辑的2D地形。 我遇到了这个github仓库,这是非常符合我的要求,但我不知道我能做些什么才能让它在顶层有另一个纹理来创建平台的幻想。 我已经广泛search,没有find任何。 我不是在寻找付费的解决scheme,如Ferr2D,Zippy地形2D地形造物主等。我希望地形能够有曲线和样条等谢谢。

2D无限亚军:如何管理dynamic地形的生成?

我正在用Unity3d创建一个无限的亚军游戏,我一直在使用math来计算地形的大小/位置,并将新的地形放置在旁边,并且它工作正常,但是我认为这是一个矫枉过正,所以问题是,有没有更好的方式(性能)在二维滚动无限跑步者生成地形/地板? 我也尝试过使用空的游戏对象组成的这个方法,当你点击它们的时候创建的地形就没关系,但是当我开始使用不同的地形生成的时候,问题就开始了

我需要实现一个横向滚动屏幕,就像在经典的一些平台游戏中一样?

我正在为Allegro for C ++开发一款游戏。 我很难说如何滚动屏幕。 我试图让屏幕与玩家滚动,就像在超级马里奥兄弟(Super Mario Brothers)等经典的侧边滚动游戏中一样。 我应该采取什么方法来实施这样的行为?

一个单独的libgdx游戏,popup菜单,准备好,hud和游戏结束?

像GameScreen类一样,只有一个屏幕是可行和实用的,其中菜单,准备好(加上指令),hud(仅得分)和游戏结束屏幕可以在需要时popup。 我可以用libGDX的Table类来做这个吗? 我在问这个,因为我正在做一个游戏,我希望在游戏菜单的背景下有游戏世界等。这是一个2D的横向卷轴游戏,像Flappy Bird或Swing Copters。 我不需要菜单在一个完全不同的屏幕上! :d

相机matrix变换滚动水平 – Monogame,XNA

我试图改变我滚动一个级别的方式。 目前我有一个静态相机类存储方向枚举和向量2位置。 这个类然后有一个方法来移动相机的位置(vecotr2)根据方向值。 这在更新方法中被调用。 然后,当绘制我的瓷砖网格时,我会遍历视口中可见瓷砖的数量,并将相机的位置添加到计数器以获取要绘制的瓷砖的纹理。 (注意主游戏类在启动之后调用水平绘制类传递它的精灵批) 这似乎是一个非常糟糕的方法。 我已经在几个地方看到,我应该使用matrix变换来移动相机,然后将其作为绘制方法的一部分。 但是,我完全不知道如何做到这一点,我从字面上输了。 我已经附上了我的代码,非常感谢您提供的任何建议。 相机: //存储摄像机的位置和滚动方向。 静态类相机{ static public Vector2 Position; static public ScrollDirection Direction; public static void MoveCamera(Level level) { Vector2 scrollSpeed = new Vector2(20, 18); if (Camera.Direction == ScrollDirection.Up) { Camera.Position.Y = MathHelper.Clamp(Camera.Position.Y – scrollSpeed.Y, 0, (level.Height * 50 – level.mViewport.Height)); } else if (Camera.Direction == ScrollDirection.Down) […]

Android sidecroller模板

我想创建一个Android的sidescroller游戏,但它似乎愚蠢的重新发明轮子,因为有很多android sidescroller游戏已经出来我虽然必须有某种模板或某事,所以我可以开始更快,所以我可以从那里继续发展。

在WebGL中,偏移地面贴图不起作用

所以我创建了一个2D双面打印游戏,我使用的技术是让玩家保持在同一个地方,并把障碍移向他。 我也不断地抵消地面和背景,造成玩家移动的错觉。 地面纹理在四边形上,纹理包裹模式设置为重复。 在编辑器中,一切都运行正常,但是当我建立它(WebGL)时,在浏览器中,地面看起来不像设置为重复,而是钳位。 以下是它的外观: 你可以从图像的左侧看到地面没有重复,奇怪的是,游戏运行了几秒钟之后就修复了,然后在几秒钟后又变成了这样。 下面的代码附在地上,以保持不断的抵消: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Offset : MonoBehaviour { public float scrollSpeed; public Material mat; private float offset; // Use this for initialization void Start () { mat = GetComponent<Renderer>().material; } // Update is called once per frame void Update () { offset = Mathf.Repeat(Time.time […]

在一个OpenGL循环中滚动背景的问题

我在png中有960×3000的地图图片,我正在像这样循环滚动它(它被称为60 FPS循环): glPushMatrix(); glBindTexture( GL_TEXTURE_2D, mapTex[iBgImg]); glBegin(GL_QUADS); double mtstart = 0.0f – fBgVPos/(double)BgSize; double mtend = mtstart + mtsize; glTexCoord2d(0.0, mtstart); glVertex2f(fBgX, TOP_MARGIN); glTexCoord2d(1.0, mtstart); glVertex2f(fBgX + MAP_WIDTH, TOP_MARGIN); glTexCoord2d(1.0, mtend); glVertex2f(fBgX + MAP_WIDTH, BOTTOM_MARGIN); glTexCoord2d(0.0, mtend); glVertex2f(fBgX, BOTTOM_MARGIN); glEnd(); glPopMatrix(); 不幸的是,当游戏处于窗口模式时,它并不stream畅。 但是,在全屏模式下是平滑的。 我正在使用GLFW的窗口。 也许我的方法有问题吗? 有更好的吗? 或者这可能是硬件问题? 编辑:窗口使用创建 glfwOpenWindowHint(GLFW_WINDOW_NO_RESIZE, GL_TRUE); glfwOpenWindowHint(GLFW_REFRESH_RATE, 60); 主循环使用glfwSwapInterval(1)来保证60 FPS;

在python和pygame中的子弹物理

我正在用python和pygame编写一个2D sidescroller,并且在制作子弹的时候遇到的问题远远不止于玩家。 子弹发射后,直行到地面。 怎么样,在Python代码中使用pygame,我让子弹走得更远。 如果你需要代码,这里是处理子弹射击的方法: self.xv += math.sin(math.radians(self.angle)) * self.attrs['speed'] self.yv += math.cos(math.radians(self.angle)) * self.attrs['speed'] self.rect.left += self.xv self.rect.top += self.yv

绘图块,并定位相机

我已经看到了很多关于如何绘制平铺地图的问题和答案,但是我无法真正理解它。 许多答案都建议加载地图的可见部分,或者加载和卸载地图的块。 我已经决定最好的select是加载块,但是我对这将如何实现有些困惑。 目前,我正在将完整的地图加载到缓冲图像的二维数组,然后每次调用重绘时绘制它。 问题1: 如果我要加载地图块,我会整个加载地图,然后绘制必要的块,或者在玩家移动时加载和卸载块,如果是这样,怎么办? 我的第二个问题是关于相机。 我想让玩家在X轴的中心和相机跟随它。 我曾经想过绘制与地图有关的所有东西,并计算相机在地图上相对于玩家坐标的位置。 所以,要计算相机的X位置,我明白我应该使用cameraX = playerX – (canvasWidth / 2) ,但是我应该如何计算Y位置? 当玩家到达cameraHeight / 2时,我只希望摄像机向上移动,而当玩家达到3/4(cameraHeight)时,摄像机只能向下移动。 问题2 : 我是否应该以同样的方式检查碰撞,并且相对于玩家的移动来移动摄像机,直到玩家停止移动,或者我是否以错误的方式思考它?