游戏系统代码1.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class InventoryPanel : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class Drag2D : MonoBehaviour { [SerializeField] private bool isSelected; private void OnMouseDrag() { Vector2 cursorPos = FindObjectOfType<Camera>().ScreenToWorldPoint(Input.mousePosition); Vector3 fixedPos = FindObjectOfType<RunGridManager>().grid.SnapToGrid(cursorPos); transform.position = fixedPos+ new Vector3(0.5f,0.5f,0); if (Input.GetKeyDown(KeyCode.Space)) { transform.rotation = Quaternion.Euler(0, 0, transform.eulerAngles.z - 90); } } public void Update() { } } |
1 2 3 4 5 6 7 8 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class NAND : MonoBehaviour { } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class RunGridManager : MonoBehaviour { public GridManager grid; // Start is called before the first frame update void Start() { //transform.position = FindObjectOfType<Camera>().transform.position; transform.position = FindObjectOfType<Camera>().ScreenToWorldPoint( new Vector3(0, 0, 0)); grid = new GridManager(100, 100, 1, transform.position); grid.DrawLine(); } // Update is called once per frame void Update() { //Debug.Log(Input.mousePosition); //Debug.Log(FindObjectOfType<Camera>().ScreenToWorldPoint(Input.mousePosition)); Debug.Log(grid.GetGridPosition(FindObjectOfType<Camera>().ScreenToWorldPoint(Input.mousePosition))); grid.DrawLine(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | using System; using System.Collections; using System.Collections.Generic; using UnityEditor.Tilemaps; using UnityEngine; public class GridManager { private Vector3 WorldPositionOfGridOrigin; private int gridWidth; private int gridHeight; private float cellSize; private enum Element { Wire,InputPine,OutputPine,Processer}; private Transform[,] gridCells; public GridManager( int width, int height, float cellSize,Vector3 position) { gridWidth = width; gridHeight = height; this .cellSize = cellSize; WorldPositionOfGridOrigin = position; } public void GenerateGrid() { } public Vector3 GetWorldPosition(Vector2Int gridPosition) { return new Vector3(gridPosition.x * cellSize+WorldPositionOfGridOrigin.x, gridPosition.y * cellSize+WorldPositionOfGridOrigin.y,0); } public Vector2Int GetGridPosition(Vector3 worldPosition) { int x = Mathf.FloorToInt((worldPosition.x-WorldPositionOfGridOrigin.x)/cellSize); int y = Mathf.FloorToInt((worldPosition.y-WorldPositionOfGridOrigin.y) / cellSize); return new Vector2Int(x, y); } public bool IsWithinGrid(Vector2Int gridPosition) { return gridPosition.x >= 0 && gridPosition.y >= 0 && gridPosition.x < gridWidth && gridPosition.y < gridHeight; } public bool IsWithinGrid(Vector3 worldPosition) { Vector2Int gridPosition = GetGridPosition(worldPosition); return IsWithinGrid(gridPosition); } public Vector3 SnapToGrid(Vector3 worldPosition) { return GetWorldPosition(GetGridPosition(worldPosition)); } public void DrawLine() { for ( int i=0;i<gridWidth; i++) { for ( int j = 0; j < gridHeight; j++) { Vector3 worldPosition = GetWorldPosition( new Vector2Int(i, j)); Debug.DrawLine(worldPosition, new Vector3(worldPosition.x+cellSize,worldPosition.y,0)); Debug.DrawLine(worldPosition, new Vector3(worldPosition.x, worldPosition.y + cellSize,0)); } } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端