加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java游戏中的边界,“专业人士”如何做到这一点?

发布时间:2020-12-15 08:49:05 所属栏目:Java 来源:网络整理
导读:专业人士如何在2D游戏中做界限?我的方式是说我不希望精灵进入某个区域: //Exampleif ((playerPosX = 825) (playerPosX = 910) (playerPosY = 170) (playerPosY = 255)) { //do nothing}else{ //move} 但是那里的一些游戏有很多界限,所以我想知道,有没有更
专业人士如何在2D游戏中做界限?我的方式是说我不希望精灵进入某个区域:

//Example
if ((playerPosX >= 825) && (playerPosX  <= 910)&& (playerPosY >= 170) && (playerPosY <= 255)) {
    //do nothing
}else{
    //move
}

但是那里的一些游戏有很多界限,所以我想知道,有没有更简单的方法.我不认为有人会在整个游戏中使用上述方法,只是为了阻止移动.

编辑:
我的问题主要是关于你可以四处走动的游戏,类似于口袋妖怪或最终幻想

解决方法

我想到了两种可能性,

> 1st用多边形描述被阻挡区域并在多边形测试中做一个点以确定精灵是否可以移动到这个位置.
> 2像在图像处理程序中创建某种掩模(图层),其中零位表示可以移动的位置和阻挡区域的位置.这可以扩展到指定的深度,另见z-buffer以部分隐藏精灵,

编辑:

if ( mask[ nextY ][ nextX ] == 0 ) {
   currX = nextX;
   currY = nextY;
}

假设所有变量都是int,而mask是2d int数组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读