siki学院案例---贪吃蛇 学习总结

目录

  • 1.UGUI物体的旋转
  • 2.脉冲携程方法调用器,可延迟启动
  • 3.单例模式(将一个类单例化供全局使用)
  • 4.协程函数(延迟调用)
  • 5.动态加载资源
  • 6.字典式存储【永久】
  • 7.改变背景颜色 [#16进制]
  • 8.将某物体设置成另一物体的子物体

1.UGUI物体的旋转

private Vector3 Headpos;
Headpos= gameObject.transform.localPosition;//蛇头坐标位置保存
 
gameObject.transform.localRotation= Quaternion.Euler(0,0,0);
//指定旋转到轴0,0,0
//Quaternion.identity=无旋转

2.脉冲携程方法调用器,可延迟启动

InvokeRepeating("方法名",0,velocity);
//在时间秒内调用方法methodName,延迟时间,然后重复每一个重复频率秒。
 
CancelInvoke();
//暂停脉冲()有"名字"则暂停同一名字脉冲,无则暂停全部

3.单例模式(将一个类单例化供全局使用)

public class Foodmaker : MonoBehaviour {
     
 
	private static Foodmaker _instance;
	public static Foodmaker instance{
     
		get{
     
			return _instance;
		}
	}
	void Awake() {
     
		_instance=this;
	}
	//单例模式...
}

4.协程函数(延迟调用)

详细了解

 StartCoroutine(GameOver(1.5f));     //1.5秒后开始携程--GameOver
 				……
    IEnumerator GameOver(float t)//协程函数(传入一个参数代表等待的时间)
    {
     
        yield return new WaitForSeconds(t);     //返回等待的时间t
        UnityEngine.SceneManagement.SceneManager.LoadScene(1);      //回到开始界面
    }

5.动态加载资源

详细了解
首先创建Resources文件夹[绝对名字]
siki学院案例---贪吃蛇 学习总结_第1张图片
代码书写如下:

//通过Resources.Load(string path)加载资源
gameObject.GetComponent<Image>().sprite //图片精灵赋值
=
Resources.Load<Sprite>(PlayerPrefs.GetString("sh","sh01"));
//加载<类型>(路径)
 
 Resources.Load(PlayerPrefs.GetString("sh","sh01"),typeof(Sprite));
//2.加载(路径,typeof(类型))

6.字典式存储【永久】

详细了解

PlayerPrefs.SetString("sh","sh01");
//往"sh"储存"sh01"
 
string s = PlayerPrefs.GetString("sh","sh01");
//从"sh"提取值,没有则返回"sh01"

PlayerPrefs.DeleteAll();
//清除所有通过该方法存储的数据

7.改变背景颜色 [#16进制]

private Color tempColor;
 
ColorUtility.TryParseHtmlString("#CCEEFFFF",out tempColor);
//一组常见的颜色函数.(颜色,返回值)
bgImage.color=tempColor;

一般格式代码如下:

bgImage.color=new Color((230/255f),(237/255f),(245/255f),(255/255f));
//使用RGB修改颜色,由于参数最大值为1,故所有数据都需要除以255f

8.将某物体设置成另一物体的子物体

food.transform.SetParent(FoodHolder,false);
//false代表不进行坐标转换(因为canvas下的物体可能存在一个很小的缩放)

你可能感兴趣的:(unity)