解决Unity使用VS编写C#代码没有代码补全及智能提示的方法

今天决定开始认真学习unity,从游戏玩家转变为游戏开发者。

之前也折腾过多次unity,每次都有新发现,新版本Unity增加了Unity Hub,统一管理引擎版本、工程、授权一类的,安装管理也变的非常方便,可以一键安装unity、VS以及其他附加组件。

安装完成后开始根据一些教程练习写一些demo,然后发现C#脚本打开后显示为杂项文件,显示为杂项文件

这个时候类名查看,代码补全都没有效果,多方查资料,检查.net设置,重置unity for VS插件依然没有效果。

最后在设置中发现一项关于编辑器的选项

编辑器选项

将External Script Editor 设置为对应编辑器,同时勾选Generate all .csproj files 选项,再次打开c#脚本文件时VS就会以Unity工程形式打开文件,这个时候就可以愉快的码代码了

以工程形式打开

以下是一个简单的躲猫猫游戏的示例代码使用Unity的依赖和C#编写: ``` using UnityEngine; public class HideAndSeek : MonoBehaviour { public GameObject cat; public Transform[] hidingSpots; private int currentHidingSpotIndex; private bool isGameRunning; private void Start() { currentHidingSpotIndex = 0; isGameRunning = true; cat.SetActive(false); } private void Update() { if (isGameRunning) { if (Input.GetKeyDown(KeyCode.Space)) { StartGame(); } else if (Input.GetKeyDown(KeyCode.UpArrow)) { CheckHidingSpot(); } } } private void StartGame() { cat.SetActive(true); currentHidingSpotIndex = Random.Range(0, hidingSpots.Length); } private void CheckHidingSpot() { if (cat.activeSelf) { float distance = Vector3.Distance(cat.transform.position, hidingSpots[currentHidingSpotIndex].position); if (distance < 2f) { Debug.Log("You win!"); isGameRunning = false; } else { Debug.Log("Try again!"); } } else { Debug.Log("Start the game first!"); } } } ``` 这个示例中,我们有一个 `HideAndSeek` 类,它有三个公共变量:一个猫的 `GameObject`,一个隐藏点的 `Transform` 数组和一个当前隐藏点的索引。`Start` 方法初始化了游戏状态,将猫隐藏,并将当前隐藏点索引设置为0。`Update` 方法检查玩家的输入并调用对应的方法。如果玩家按下空格键,游戏开始,如果玩家按下向上箭头键,检查当前隐藏点是否正确。如果玩家赢了,游戏结束,如果玩家输了,继续尝试。 在 `StartGame` 方法中,我们将猫显示出来,并随机选择一个隐藏点。在 `CheckHidingSpot` 方法中,我们检查猫是否显示出来,如果是,我们计算猫和当前隐藏点之间的距离。如果距离小于2个单位,则玩家赢得了游戏,否则他们需要继续尝试。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值