我对团结是陌生的。我用刚体在unity2D中设置了一个字符。我把我的精灵刻度设置为每单位100像素。在这个尺度上,我的刚体性格站在平台上,无法穿过装有对撞机的墙壁。我决定,为了让事情变得更简单,我会把所有的精灵变到每单位一个像素。完成之后,我缩放了所有的内容(变量、大小等)。再加100。我证实,箱子对撞机,地板和墙壁,都是在相同的地方,相对。地板上的箱式对撞机仍然工作,但墙箱对撞机的行为却有所不同。当我走进一堵墙时,墙会慢慢地把我推向一个方向(这取决于我的角色是否穿过了半堵墙)。墙应该完全阻止我的行动。
代码非常简单,但这是我用来移动的:
if (Input.GetKey (KeyCode.D
我在确定渲染对象的顺序时遇到了一些独特的问题,特别是当玩家在墙后的情况下。我将尝试并彻底解释,因此为大量信息做好准备。
我向后渲染(这里推荐的是:),这在很大程度上是足够简单的。我使用一个简单的比较器来确定后面是什么:
private Comparator<Entity> spriteSorter = new Comparator<Entity>(){
public int compare(Entity e1, Entity e2){
if(e1.getPhysics().getY() > e2.getPhysics().getY()) r
我的敌人精灵一般都能跟随玩家,但当我继续玩的时候,敌人的精灵有时都开始向墙走去,互相重叠。即使我让玩家精灵向相反的方向移动,敌人的精灵也只会沿着墙移动,而不是向我的玩家移动。
另外,我觉得我的敌人精灵一点威胁都没有。有一半的时间,他们并没有真正走向球员。如果我曾经与敌人相撞,那是因为我向他们移动是因为我没有注意到。
我想解决我的敌人向墙聚集的问题,使我的敌人更有威胁性。我也发现我的游戏太平淡无奇,所以我很感激任何关于我可以添加什么来使游戏更有趣的建议。
这是我的游戏代码:
Code is removed for now. Will re-upload in 1 to 2 months.
我有一个包含sprites的向量,我将其用于墙:
std::vector<Sprite> wallSprites(30, Sprite(walltexture));
这些重复使用以下命令:
for (int i = 0; i < wallSprites.size(); i++) {
wallSprites[i].setPosition(wallPosX,0);
wallPosX += 63;
wallSprites[i].setOrigin(0,0);
}
然后画上:
for (int i = 0; i < wallSprites.size();
我设置了精灵的物理主体,zPosition,颜色,大小等,但它不会出现在视觉上。(它拥有我的精灵中最高的zPosition,是的,我确实导入了SpriteKit) let wall = SKSpriteNode()
wall.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
//Takes screen size / width to make each piece one/(value set by "maze" at top) of the screen
let width: CGFloat = (UIScreen.main.b
在我的资源文件夹结构中,我有一个文件,现在在unity编辑器中,这个文件是一个Texture Type Sprite (2D and UI),现在当我尝试在我的脚本中运行这个代码时
var icons = Resources.LoadAll<Sprite>("Images/BuffIcons");
我的icons变量是空的,现在如果我把上面的代码行改为
var icons = Resources.LoadAll("Images/BuffIcons");
它返回一个数组,该数组先有一个Texture2D,然后是多个Sprite对象。现在为什么我不能将对