在我的第一个3D游戏中,我现在想要渲染地板,实际上是一个平面(不是libgdx Plane)y = 0.
我想添加一个Texture,所以我可以在每个级别有不同的楼层.
现在我的问题是:创建和渲染这个纹理地板的最佳方法是什么?
我考虑使用基本Block Models制作ModelBuilder然后添加了一个Texture,但因为我只能看到6个面中的一个,2d Texture就够了,所以我想到了Plane.
我可以添加一个Texture到Plane,因为它是在3D房间无限的脸?我接下来想到的最后一件事是Decals.
是否Decal就是我要寻找?我该如何使用它们?或者你有其他解决方案吗?
任何教程或其他帮助都会很棒.
谢谢
我正在使用libgdx开发游戏.我的Gameobjects都是Actor的子类.现在我想利用可以与Actors一起使用的动作.如果我的钥匙控制玩家与计算机控制的敌人发生碰撞,那么玩家应该被击退.我可以通过moveBy-Action获得此功能.但是当我的玩家与一个墙或另一个僵尸发生碰撞时,他仍然会动作回击原因,行动应该打断.有没有办法实现这个目标?或者炬是不是为这样的事情做的?
谢谢
我正在使用libgdx开发游戏.现在我想在我的地图上有一个背景(地图大小不固定但我稍后会决定).我的地图是基于图块的,但我不使用TiledMaps.所以我用自己的代码/编辑器创建并加载地图.
我现在的问题:我应该如何实现背景的东西?
我想到了不同的方式:
加载一个覆盖所有地图的巨大图像.这不是真正的好事,因为我渲染的东西,不在我的viewport (80 Tiles X,50 Tiles Y).
将图像分成4个或更多图像并在视口中加载图像.问题:在某些时候,可能所有图像的一部分都在视口中,因此所有图像都被发送到GPU了吗?
有1张图像覆盖viewport (80,50)并跟随相机.我认为最好的表现,但它看起来很愚蠢......
或者每个图块都有自己的图像,并且在它们上方绘制对象.请注意,我只在视口内渲染Tiles.但是在Gamestart上,它需要加载关于关卡中每个牌的信息.
有关信息:我的游戏是自上而下和背景显示地板所以不需要详细的山丘等,也许只是一些简单的沙漠沙子外观和类似的东西.还有另一种更好的方法吗?
什么是性能和光学的最佳方式?
我正在使用libgdx scene2d开发游戏.我的所有对象都是Actor(我们称之为GameObject)的子类,所以它们都已经具有位置和大小,但都位于不同的字段中(float x; float y; float height; float width;).对于碰撞检测,我使用一些自制的方法,但也有一些方法Intersector.这些Intersector方法需要Vector2位置参数和因此,我必须在每个渲染周期Vector2的Actors字段中创建对象.这对于垃圾收集是不利的.我唯一想避免这种情况的想法就是拥有一个和我的s.但是我有冗余数据而且我会需要覆盖getter和setter方法来更新和绘制数据(绘图需要).还有另外一种更好的方法吗?冗余数据比垃圾问题好吗?或者我应该复制s方法并编辑它们使用而不是?Vector2 positionVector2 sizeGameObjectVector2ActorIntersectorfloat xfloat yVector2
我正在开发一款游戏.我有一个类的武器,不同的子类,如Shotgun,Mg...现在我希望能有具体的武器,像AK47有30发子弹的弹药伤害等.同样的事情,是中高级车的10分.例如兰博基尼的固定最高速度为300公里/小时,而座椅利昂的固定最高速度为200但仍然是汽车(或子类?).我该怎么做?兰博基尼是构造函数中具有固定值的汽车的子类吗?我是否应该为汽车类或文件中的每辆汽车的值保持常量?希望我很清楚.谢谢
编辑:我认为我不够清楚.我需要"保存"汽车的默认值(兰博基尼:max peed 300 ...),这样在游戏中玩家可以拥有兰博基尼并且它总是最大速度300.由于兰博基尼,子类的选项现在消失了只是一个汽车的实例.所以现在我的问题:在文件中或作为类车中的静态常量?例如:
public class car {
public static final int SPEED_LAMBORGHINI = 300
// rest of class car
}
Run Code Online (Sandbox Code Playgroud)
我认为文件设计会更好但是不需要Long从文件加载所需的武器吗?
阅读本文后:
管理碰撞检测
我想过如何在libgdx中管理它,因为它支持其他碰撞检测(使用Intersector)和你可以在游戏中使用的其他类.
我有我的对象的逻辑与他们的属性(僵尸,例如移动速度和健康)和外观与纹理,屏幕上的位置等(例如Zombie2d是Actor的子类).Zombie2d还提到Zombie拥有Zombie的所有属性.问题:每个Actor是否应该存储所有其他对象存储的级别并自行检测碰撞,或者我是否应该将级别作为参考?
我应该在Actor.act(delta)方法内部还是在Actor.act()和Actor.draw()之间进行冲突检测?
我需要针对给定的XSD文件验证多个XML文件.问题是XSD是由两个文件组成的.它们是嵌套的,但我知道哪一个是第一个(其他人的"父").在XML文件中,我使用命名空间来定义子节点定义在哪个XSD中.我正在使用Notepad ++的XMLTools插件进行其他测试,但它无法找到并验证这些XSD文件,因为我只能给一个XSD作为参数进行验证.(<CBIBdySDDReq xmlns="urn:CBI:xsd:CBIBdySDDReq.00.00.06" xmlns:msg="urn:CBI:xsd:CBISDDReqLogMsg.00.00.06">
是否有工具能够针对多个XSD文件测试生成的XML文件?
对于我的2D自上而下射击游戏,我想结合我的角色(Image/Actor的子类)和武器(TextureRegion或Actor?),他只是出于光学原因.我的角色里面有一个Hero物体,代表着他的逻辑部分,就像他的武器,他选择的武器和他的速度.他持有的武器也只是逻辑部分,因此没有图形.我应该如何将这种武器添加到玩家?我应该使用一个组,而玩家和武器是该组的一部分吗?或者玩家是否应该根据自己的位置在他的绘制方法中绘制武器?但是我必须将武器纹理保持在玩家内部并加载与英雄对象当前持有的武器相匹配的纹理.什么是最好的方式?