• unity快速入门代码上手笔记


    要想快速入门还是只能看文档,看视频太慢了,看不全。

    在w3cschool有文档的相关教程https://www.w3cschool.cn/unity3d_jc/unity3d_jc-zyo1383m.html
    新手选择3d空项目,无法创建项目可能是权限管理,网络vpn等问题。

    绑定脚本

    在assets里面随便新建一个cs类,默认就有一个模板,
    要做的是绑定到控件里面,

    image.png

    我这里选择绑定摄像机,
    脚本完整代码

    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. public class MyMove : MonoBehaviour
    5. {
    6. public GameObject myCube;
    7. public GameObject myCube2;
    8. public int transSpeed = 100;
    9. public float rotaSpeed = 10.5f;
    10. public float scale = 1.3f;
    11. // Start is called before the first frame update
    12. void Start()
    13. {
    14. }
    15. // Update is called once per frame
    16. void Update()
    17. {
    18. // this.
    19. //this.transform.
    20. this.transform.Translate(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
    21. }
    22. void OnGUI()
    23. {
    24. if (GUILayout.Button("创建Cute", GUILayout.Height(30)))
    25. {
    26. myCube = GameObject.CreatePrimitive(PrimitiveType.Cube);
    27. myCube.AddComponent();
    28. myCube.GetComponent().material.color = Color.blue;
    29. myCube.transform.position = new Vector3(0, 10, 0);
    30. }
    31. if (GUILayout.Button("创建Sphere", GUILayout.Height(30)))
    32. {
    33. GameObject m_cube = GameObject.CreatePrimitive(PrimitiveType.Sphere);
    34. m_cube.AddComponent();
    35. m_cube.GetComponent().material.color = Color.red;
    36. m_cube.transform.position = new Vector3(0, 10, 0);
    37. }
    38. if (GUILayout.Button("移动立方体", GUILayout.Height(30)))
    39. {
    40. if (myCube == null)
    41. {
    42. showTipDialog("立方体为空");
    43. return;
    44. }
    45. myCube.transform.Translate(Vector3.forward * transSpeed * Time.deltaTime, Space.World);
    46. }
    47. if (GUILayout.Button("旋转立方体", GUILayout.Height(30)))
    48. {
    49. if (myCube == null)
    50. {
    51. showTipDialog("立方体为空");
    52. return;
    53. }
    54. myCube.transform.Rotate(Vector3.up * rotaSpeed, Space.World);
    55. }
    56. if (GUILayout.Button("缩放立方体"))
    57. {
    58. if (myCube == null)
    59. {
    60. showTipDialog("立方体为空");
    61. return;
    62. }
    63. if (myCube.transform.localScale.y == scale)
    64. {
    65. myCube.transform.localScale = new Vector3(1, 1, 1);
    66. }
    67. else
    68. {
    69. myCube.transform.localScale = new Vector3(scale, scale, scale);
    70. }
    71. }
    72. if (GUILayout.Button("隐藏立方体"))
    73. {
    74. if (myCube == null)
    75. {
    76. showTipDialog("立方体为空");
    77. return;
    78. }
    79. if (myCube.activeSelf)
    80. {
    81. myCube.SetActive(false);
    82. }
    83. else
    84. {
    85. myCube.SetActive(true);
    86. }
    87. }
    88. if (GUILayout.Button("销毁立方体"))
    89. {
    90. if (myCube == null)
    91. {
    92. showTipDialog("立方体为空");
    93. return;
    94. }
    95. // this.Remove
    96. myCube.transform.localScale = new Vector3(scale, scale, scale);
    97. Destroy(myCube);
    98. }
    99. }
    100. public void showTipDialog(string tip)
    101. {
    102. UnityEditor.EditorUtility.DisplayDialog("提示", tip, "确认");
    103. // return;
    104. }
    105. }

    运行效果

    image.png

    当然上图里面部分东西是我手动添加的,其他是通过脚本触发自动执行的。

    脚本提示问题

    在unity3d中,选择edit-首选项->

    image.png

    如下图所示选择识别到的visual studio

    image.png

    如果没有配置的情况下用vs打开是没有语法提示的,配置好之后的效果

    image.png

    不难看出,实际上是载入了assembly-csharp.dll,玩游戏逆向的朋友应该对这个很熟悉, https://docs.microsoft.com/zh-cn/visualstudio/gamedev/unity/get-started/getting-started-with-visual-studio-tools-for-unity?view=vs-2022&pivots=windows
  • 相关阅读:
    酷开科技丨酷开系统——智能家居生活的娱乐核心
    两化融合贯标是指什么
    WebDAV之葫芦儿·派盘+无忧日记
    lsof-文件监控常用命令
    PDF中的某个图或表想几乎无损的插入ppt或者word里的方法
    Java中equals()相关
    Mybatis01
    解决vulhub漏洞环境下载慢卡死问题即解决docker-valhub漏洞环境下载慢的问题
    ftp协议主动模式与被动模式
    C语言--atoi函数详解及模拟实现
  • 原文地址:https://blog.csdn.net/u010042660/article/details/125826011