zoukankan      html  css  js  c++  java
  • SIKI_Unity_2_初级案例_贪吃蛇

    SIKI_Unity_2_初级案例_贪吃蛇

    任务5: 素材的导入与制作

    确定游戏窗口分辨率并隐藏Build出来每次开始运行时跳出的UnityResolution窗口:
      PlayerSettings -> Resolution and Presentation中
      设置Default Screen Width/ Height
      DisplayResolutionDialog = Disabled

    任务6:创建工程并搭建开始场景

    Canvas的RenderMode选择ScreenSpace-Camera,并将主摄像机赋值
      此时在Scene中UI的框会和Camera的框重叠

    一般而言,3D游戏的HUD如小地图之类的UI会用ScreenSpace-Overlay实现
      因为这个模式相当于把画布蒙在相机之前,会遮挡住游戏物体,保证UI在最上方
    而2D游戏且使用UGUI主实现的时候,会选择ScreenSpace-Camera模式

    任务10:贪吃蛇实现的思路

    蛇头控制每一段蛇身
    InvokeRepeat()调用前进方法

    思路1:

    每一段蛇身前进到前一段蛇身当前的位置

    思路2:

    增加一个蛇头,原来的蛇头变成第一节蛇身,其他不变

    因为是双色贪吃蛇,因此只能使用思路1,使用思路2会导致颜色错乱

    任务21:暂停游戏与返回菜单

    点击暂停按钮后,按下空格,发现暂停按钮也会被onClick

    原因是:UGUI的focus在暂停按钮上了,而Unity的Input中空格键有Submit的功能,所以按钮会被空格触发

    解决方法:
      在ProjectSettings -> Input中取消Submit功能中空格键的绑定

    任务22:蛇死亡的处理和得分的记录

    记录得分的方法:

    记录PlayerPrefs.SetInt("variableName", value); // 将value的值记录到变量中

    PlayerPrefs.Save(); // 保存设置

    PlayerPrefs.HasKey("variableName"); // 是否存在某值

    读取PlayerPrefs.GetInt("variableName", defaultValue); // 如果该变量之前没有被记录过的话,则返回defaultValue

    任务24:完成换肤与其他配置读取

    Bug:
    描述:游戏运行开始时,对皮肤选项Toggles的初始化,一直没能设置正确toggle.isOn
    原因:初始化是在Awake()中实现的,这个时候设置是没有用的
    解决方法:在Start()执行完全相同的逻辑,成功

     

     

     

     

  • 相关阅读:
    listview 选择后高亮显示
    高德坐标转百度坐标并导航
    android scrollview listview显示不全
    java.lang.UnsatisfiedLinkError: Couldn't load vi_voslib from loader dalvik.system.PathClassLoader
    JAVA Map 和 List 排序方法
    Butter Knife 使用方法
    Volley 结合GSON或FastJson用法
    android-menudrawer 和SlidingMenu 用法
    ueditor 正在读取目录及网络链接错误
    【449】backup get weekly tweets
  • 原文地址:https://www.cnblogs.com/FudgeBear/p/11192222.html
Copyright © 2011-2022 走看看