我在libgdx中使用tiled。我正在做一个自上而下的rpg,类似于《最终幻想1》、《2》等等。
我使用setX(getX()速度)。x*delta);和setY(getY()速度)。y*delta);在地图上移动玩家。我怎样才能让玩家一块一块地移动呢。我该如何检查玩家在哪个磁贴中?谁能帮帮我吗。谢谢你。
我发现:
void update()(
// Getting the target tile
if ( rightArrowPressed ) {
targetX = (int)(currentX + 1); // Casting to an int to keep
// the target to next tile
}else if ( leftArrowPressed ){
targetX = (int)(currentX - 1);
}
// Updating the moving entity
if ( currentX < targetX ){
currentX += 0.1f;
}else if ( currentX > targetX ){
currentX -= 0.1f;
}
}
来自:libGDX:如何实现基于平滑瓷砖/网格的游戏角色移动?
但是我似乎可以在我的游戏中实现它。
我正在编程一个2048游戏,我所做的移动玩家是有两个x变量和两个y变量,一个用于屏幕上像素的坐标,另一个用于网格。当执行移动时,我更改网格变量并让我的gameloop检查网格x和y变量乘以网格大小是否等于屏幕x和y变量。如果不匹配,我就移动玩家。
int x, y;//Grid
int xx, yy;//Screen
int GridSize = 3;
public void tick(){
if(x * GridSize > xx){
xx ++;
}
if(x * GridSize < xx){
xx --;
}
if(y * GridSize > yy){
yy ++;
}
if(y * GridSize < yy){
yy --;
}
}
要检查播放器所在的磁贴,只需执行getX和getY来查找播放器的磁贴坐标。
我正在做一个RPG游戏,但是,我现在有一个错误。玩家的角色可以在所有四个基本方向上移动,但如果你向右、向上或向下移动,玩家就会被卡住。 此外,这个错误似乎有一定的逻辑性: 如果向下移动,角色将卡在向下移动的循环中 除非按下向上箭头,否则玩家将开始一个新的向上无限循环 除非按下向右箭头,否则玩家将开始一个新的向右无限循环 所以权利似乎优先于上,而上优先于下。 奇怪的是,向左移动工作得很完美,即使当角
我是一个业余程序员,在Pyplay非常新。这是我用Pyplay编写的程序,类似于我的世界。在过去的一个小时里,我一直在尝试设置一个代码,让我的玩家在按下X键时移动到随机瓦片。我已经耗尽了大部分如果不是所有的网站和搜索引擎寻找。我已经设法完成了一半的任务;当按下X键时,化身会移动到随机磁贴,但它会移出窗口/显示器。拜托,你能看看我的代码,看看我能做些什么来改进它吗?
刚开始使用pygame,当你按住箭头键时,试图让一个简单的点在屏幕上移动。目前,它只在你按键时移动,但你必须重复按键。 此外,我很感激你对我目前的代码有任何建议,可以改进或改变,使之更有效。
这是我目前正在开发的一个游戏,我在工作和移动时遇到了碰撞,但当我在墙的两侧(从墙列表中)碰撞时,它会停止移动我的玩家,但如果我一直按住键,玩家将完全移动 这是移动和碰撞的代码: 提醒:一切正常,但我的玩家在与物体碰撞并停止几秒钟后,将继续穿过墙壁。
我在这里要做的是,让角色移动到一个位置,同时避开他前进道路上的障碍。我试着用这样的东西: 我的主要问题是这个角色从一半开始走路:
我正在编程我的第一个实际2D游戏(吃豆人)。我认为比赛看起来不错,但我有一个大问题--碰撞。对象仍然存在,我被困住了,所以我决定寻求有丰富经验的真正程序员的帮助。(我当然做了一些研究,但我不想做复制粘贴之类的事情,因为我没搞懂)。就像我说的,游戏差不多完成了,我所需要做的就是让帕克曼继续前进。像例子一样,我画大的白色矩形作为平台。我希望有人能帮助我。在这个项目中,我学到了很多东西,碰撞是我理解的东