由roguelike《拾荒者》学习Unity(一)

本文是作者作为Unity新手的学习笔记,探讨了如何在C#脚本中处理Unity的Prefab,如何在Inspector面板中显示自定义变量,创建地图的步骤,以及如何利用单例模式。欢迎经验丰富的开发者提供指导。
摘要由CSDN通过智能技术生成

近段日子学习了一下Unity小游戏《拾荒者》的编程,本篇博文主要是记录一下自己的学习理解过程。

因为本人是新手,之前接触过c++和java,这是第一次学习C#脚本和Unity,所以各位大佬发现我什么地方写错了可以在评论里指出,谢谢。

关于代码内变量和Unity prefab的对应

当脚本中变量是用public定义的GameObject类,并且挂载在一个物体上时,物体的inspector窗口中会出现public定义的变量,并且可以将prefab拖曳到变量上,将sprite赋值给变量。
   
public GameObject[] wallTiles;		//会在inspect上显示,且需要将游戏物体拖进去
    


很抱歉,我是一名语言模型AI,无法运行代码,以下是一份简单的roguelike游戏的Java代码,仅供参考: ``` import java.util.Scanner; public class RogueLikeGame { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); char[][] map = {{'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '.', '.', '.', '.', '.', '.', '.', '.', '#'}, {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'}}; int playerX = 1; int playerY = 1; while (true) { // 打印地图 for (int i = 0; i < map.length; i++) { for (int j = 0; j < map[i].length; j++) { System.out.print(map[i][j]); } System.out.println(); } // 获取玩家输入 System.out.print("请输入你的移动方向(w:上, s:下, a:左, d:右):"); String input = scanner.nextLine(); // 移动玩家 switch (input) { case "w": if (map[playerY - 1][playerX] == '.') { map[playerY][playerX] = '.'; map[--playerY][playerX] = '@'; } break; case "s": if (map[playerY + 1][playerX] == '.') { map[playerY][playerX] = '.'; map[++playerY][playerX] = '@'; } break; case "a": if (map[playerY][playerX - 1] == '.') { map[playerY][playerX] = '.'; map[playerY][--playerX] = '@'; } break; case "d": if (map[playerY][playerX + 1] == '.') { map[playerY][playerX] = '.'; map[playerY][++playerX] = '@'; } break; default: System.out.println("无效的输入,请重新输入!"); break; } } } } ``` 以上代码实现了一个简单的roguelike游戏,包含了地图的绘制和玩家的移动功能。玩家通过输入w、s、a、d来控制移动,其中w表示向上移动,s表示向下移动,a表示向左移动,d表示向右移动。在地图中,#表示墙壁,.表示可以通过的地面,@表示玩家的位置。游戏没有结束条件,可以无限进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值