用Unity实现俄罗斯方块游戏的方法-创新互联
这篇文章将为大家详细讲解有关俄罗斯方块游戏如何用Unity实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下

解决穿透问题
逻辑部分
1、在物体进行移动的过程中更新格子的信息,原来的所占据的位置信息进行置空操作,现在所占据的格子进行赋值操作。
2、在移动后的位置进行判断,首先移动后的位置不能是null,且不能不是移动后的物体
代码部分
void updateGrid()
{
//去除移动以前的位置信息
for (int y = 0; y < Grid.height; y++)
{
for (int x = 0; x < Grid.width; x++)
{
//脚本是挂在物体上面的而不是是组成物体的格子上
//如果有格子是和现在的位置相同那么进行置空操作
if (Grid.grid[x, y]!= null)
{
if (Grid.grid[x, y].parent == transform)
{
Grid.grid[x, y] = null;
}
}
}
}
//加入本次的更新的位置信息
foreach (Transform child in transform)
{
Vector2 v = Grid.roundVec2(child.position);
Grid.grid[(int)v.x, (int)v.y] = child;
}
}
bool isValidGridPos()//判断是否有效
{
foreach (Transform child in transform)
{
Vector2 v=Grid.roundVec2(child.position);
//判断是否在边界之间
if (!Grid.insideBorder(v))
return false;
//格子被占据了且不是移动后的物体就不能继续进行移动
if (Grid.grid[(int)v.x, (int)v.y] != null&& Grid.grid[(int)v.x, (int)v.y].parent != transform)
return false;
}
return true;
}另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
标题名称:用Unity实现俄罗斯方块游戏的方法-创新互联
本文URL:http://www.jxjierui.cn/article/ccsphs.html


咨询
建站咨询
