手机游戏人物与地图的碰撞
来源:互联网 发布:计算机专业不会编程 编辑:程序博客网 时间:2024/04/30 04:31
最近在做J2ME平台的坦克大战游戏
做到地图和坦克的碰撞
我采用的是状态机检测坦克方向,和在当前方向的坦克地图的碰撞
下面是当坦克朝上的源代码
其他三个方向和它类似
private void heroUpCheck() {//像上的碰撞检测
if(ifcolInt == true && ifrowInt == true)//坦克正好在地图的整数行列上,由于地图块是16*16而我定义的行走速度是8所以要判断是否在整列上
{ if(nowMapcol-1 >=0 )
{
if(gameMap.map[nowMapcol - 1][nowMaprow] != 0 && gameMap.map[nowMapcol - 1][nowMaprow] != 3)//判断上面的地图块是否是草地和空地
isMove = false;//不能行走
}
ifcolInt = false;//表示不能整除,则可以move
}
if(ifcolInt == true && ifrowInt == false)
{
if(nowMapcol-1 >=0 && nowMaprow >=0)
{
int u = nowMaprow + 1;
if(gameMap.map[nowMapcol - 1][nowMaprow + 1] != 0 && gameMap.map[nowMapcol - 1][nowMaprow + 1] != 3)//判断上面的地图块是否是草地和空地
isMove = false;//不能行走
if(gameMap.map[nowMapcol - 1][nowMaprow] != 0 && gameMap.map[nowMapcol - 1][nowMaprow] != 3)// private void heroUpCheck() {
if(ifcolInt == true && ifrowInt == true)//坦克正好在地图的整数行列上
{ if(nowMapcol-1 >=0 )
{
if(gameMap.map[nowMapcol - 1][nowMaprow] != 0 && gameMap.map[nowMapcol - 1][nowMaprow] != 3)//判断上面的地图块是否是草地和空地
isMove = false;//不能行走
}
ifcolInt = false;//表示不能整除,则可以move
}
if(ifcolInt == true && ifrowInt == false)
{
if(nowMapcol-1 >=0 && nowMaprow >=0)
{
int u = nowMaprow + 1;
if(gameMap.map[nowMapcol - 1][nowMaprow + 1] != 0 && gameMap.map[nowMapcol - 1][nowMaprow + 1] != 3)// 当坦克不在整数列时测试坦克左上角地图块 isMove = false;//不能行走
if(gameMap.map[nowMapcol - 1][nowMaprow] != 0 && gameMap.map[nowMapcol - 1][nowMaprow] != 3)// 当坦克不在整数列时测试坦克左上角地图块
isMove = false;//不能行走
}
ifcolInt = false;
}
} isMove = false;//不能行走
}
ifcolInt = false;
}
}
自己按自己想法做的
肯定有不妥之处请指教
- 手机游戏人物与地图的碰撞
- 游戏地图与人物移动问题
- 《游戏脚本的设计与开发》-(RPG部分)3.2 地图遮挡和人物行走
- Unity中武器与人物的碰撞检测
- J2ME滚屏游戏的设计——补充说明关于地图与碰撞判断等
- Cocos2D实现RPG游戏人物地图行走的跟随效果
- 手机游戏3D人物的移动控制
- Unity3d人物与墙壁碰撞问题求解
- 游戏与物理碰撞
- unity 人物碰撞范围的动态修改
- (java)仙剑人物地图与人物坐标的理解
- 跑酷类游戏------quick-Cocos2d-X lua添加瓦片地图、瓦片地图的移动以及碰撞检测
- flash与游戏笔记:简单的人物demo
- Android 简单游戏实现笑脸的移动与人物移动
- 游戏开发之--简单的人物走动和地图移动(一)
- 手机游戏地图绘制软件
- cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测上
- cocos2d-x游戏开发系列教程-坦克大战游戏之坦克和地图碰撞的检测下
- 开篇的话
- 好难哦
- C# 中2,10,16进制及其ASCII码之间转化
- C# 时间格式化
- c#判断字符串是否为数字
- 手机游戏人物与地图的碰撞
- 交通灯管理系统
- 今天刚来到这里
- 2010年全球电子工程师薪资对比 中国最低
- ASP.NET学习笔记(六)
- 大家好
- 从今天起,我要狠下心来,好好学习。
- 学的越多人就越自信的 没有最好只有更好 技术引领中国 创新改变世界
- Coolite控件的一些使用