不浪费时间,进来直接Ctrl+F看看有没有你需要的功能
一、准备工作与基础
1.绘画资源网站:graphikriver.net
2.绘画软件
二、常识
1.暂停、继续、重新开始、退出
Time.timescale = 0; //暂停游戏。
Time.timescale = 1; //继续游戏。
using UnityEngine.SceneManagement;
SceneManager.LoadScene (0);//重新开始。其中,0,为游戏场景的索引号,具体索引号在build的时候加入场景的时候后面写的有。
application.Quit(); //退出游戏。
2.按钮事件
canvas中新建一个按钮,新建c#代码:
public void click(){
你要执行的部分
}
把代码拖到Hierarchy窗口的按钮上,然后点击一下按钮,在Inspector窗口点加号新加一个click()事件,把之前的Hierarchy窗口那个按钮拖过来(放在椭圆圈标记处),最后选择指定的函数,搞定!
3.安卓手机触屏事件(转自https://blog.csdn.net/qq_15267341/article/details/52275589)
一: 下面先说经常用的三个事件 手指按下、手指移动、手指松开
1. 手指按下
if(input.touchCount==1)
{
if(input.touches[0].phase==TouchPhase.Beagn)
{
// 手指按下时,要触发的代码
}
2. 手指在屏幕上滑动
if(input.touchCount==1)
{
if(input.touches[0].phase==TouchPhase.Move)
{
// 手指滑动时,要触发的代码
float s01=Input.getAxis("Mouse X"); //手指水平移动的距离
float s02=Input.getAxis("Mouse Y"); //手指垂直移动的距离
}
3. 手指在屏幕上松开时
if((input.touches[0].phase==TouchPhase.Ended) && Input.touches[0].phase!=TouchPhase.Canceled)
二: 上面介绍的是单手指触发事件,下面介绍的是多手指触发事件
if(touchCount==2) //代表有两个手指
{
if(Input.getTouch(0).phase==TouchPhase.Moved&& //第一个手指
Input.getTouch(1).phase==TouchPhase.Moved) //第二个手指
{
vecter3 s1=input.getTouch(0).position; //第一个手指屏幕坐标
vecter3 s2=input.getTouch(1).position; //第二个手指屏幕坐标
newdis=Vecter2.distance(s1,s2);
if(newdis>olddis) //手势外拉
{
distance+=Time.deltaTime*50f;
}
if(newdis<olddis) //手势内拉
{
distance-=Time.deltaTime*50f;
}
olddis=newdis;
}
}
总结:
1. 不管是触屏事件还是PC端的事件,世界转屏幕还是屏幕转世界以及射线检测都是管用的
2. 安卓端的手指坐标(Input.touches[0].position)等同于PC端的鼠标屏幕坐标
(Input.mousePosition)
4.控制音量
AudioListener.volume = 1; //静音
AudioListener.volume = 0; //全音量
AudioListener.volume = volume.value; //滑块volume的值来控制音量
5.新局不删除信息(比如背景音乐,退出按钮,当然也可能还有插进去的广告。。。)
DontDestoryOnLoad(gameObject);
6.新建场景Scene点击按钮不响应
链接:https://blog.csdn.net/qq_17758883/article/details/78432102
7.场景切换(这个太长了明天更新)
8.导出安卓手机时屏幕分辨率自适应问题(也很长,参考链接)
链接:https://blog.csdn.net/downstairs/article/details/51597864(转自:灵红)
9.历史分数记录模块,还没研究明白,看样子还要用到XML?
链接:https://blog.csdn.net/subsystemp/article/details/45134599(转自:代码妖)