unity_tips
来源:互联网 发布:qq浏览器数据清除不了 编辑:程序博客网 时间:2024/05/21 15:51
(1)unity ios 模拟器设置
在Unity导航栏菜单中选择Edit->ProjectSettings ->Player(菜单项)选择IOS平台在下方SDK Version处选择运行设备为IOS模拟器。 选择完毕后Build and Run 即可。
(2)Joystick
Joystick.js是官方提供的脚本.
public
MPJoystick moveJoystick;
35
float
touchKey_x = moveJoystick.position.x;
36
float
touchKey_y = moveJoystick.position.y;
37
38
if
(touchKey_x == -1){
39
setHeroState(HERO_LEFT);
41
}
else
if
(touchKey_x == 1){
setHeroState(HERO_RIGHT);
44
}
46
if
(touchKey_y == -1){
47
setHeroState(HERO_DOWN);
48
49
}
else
if
(touchKey_y == 1){
50
setHeroState(HERO_UP);
51
}
61
public
void
setHeroState(
int
newState)
62
{
case
HERO_UP:
74
transformValue = Vector3.forward * Time.deltaTime;
97
}
(3)重力感应
GUI.Label(Rect(0,0,480,100),
"position is "
+ Input.acceleration);
(4)简单持久化
1
PlayerPrefs.SetString(
"key"
,
"value"
);
2
string
str = PlayerPrefs.GetString(
"key"
,
"defaule"
));
GetString()方法中的第二个参数, 它代表默认值。如果通过第一个参数的Key没有找到对应的Value的话,
GetString()方法就会返回我们写的第二个参数的默认值。
1
//删除 PlayerPrefs 中某一个key的值
2
PlayerPrefs. DeleteKey (“key”);
3
4
//判断 PlayerPrefs中是否存在这个key
5
bool
b = PlayerPrefs.HasKey(“key”);
(5)播放音乐
18
if
(GUI.Button(
new
Rect(10, 10, 100, 50),
"Play music"
)) {
19
20
//没有播放中
21
if
(!music.isPlaying){
22
//播放音乐
23
music.Play();
24
}
25
26
}
(6)旋转屏幕
强制屏幕四个方向不旋转的方法
1
void
Start () {
2
//纵向 上下 两个方向
3
iPhoneKeyboard.autorotateToPortrait =
false
;
4
iPhoneKeyboard.autorotateToPortraitUpsideDown =
false
;
5
6
//横向 上下两个方向
7
iPhoneKeyboard.autorotateToLandscapeLeft =
false
;
8
iPhoneKeyboard.autorotateToLandscapeRight =
false
;
9
}
(7)
动态创建游戏对象
GameObject Obj = (GameObject)Instantiate(prefab);
同步加载场景
Application.LoadLevel(“yourScene”);
异步加载场景
第一种异步加载游戏场景对应的方法是:
1
Application.LoadLevelAsync(
"yourScene"
);
第二种异步家在游戏场景对应的方法是:
1
Application.LoadLevelAdditiveAsync (
"yourScene"
);
(8)
游戏场景中Hierarchy视图中的所有的对象在切换场景的时候都会加载。其实有一种方法可以让某些游戏对象不会被加载,首先在Hierarchy视图中选择一个游戏对象,在右侧监测面板视图中我们可以看到一个 “小对勾”默认情况下是勾选状态,说明该游戏对象处于激活状态,如果点掉的话该对象将被隐藏。
IEnumerator loadObject()
18
{
19
//便利所有游戏对象
20
foreach
(GameObject obj
in
Objects)
21
{
22
//激活游戏对象
23
obj.active =
true
;
24
//记录当前加载的对象
25
load_index ++;
26
27
//这里可以理解为通知主线程刷新UI
28
yield
return
0;
29
}
30
//全部便利完毕返回
31
yield
return
0;
32
}
(9)
StartCoroutine(),其实就是开启一个异步线程,这里可能有朋友会问Thread可以代替它吗? 答案是不行, 比如查询数据库的时候如果用Thread的话Unity就会报错说不能在线程中查询,但是在StartCoroutine()中就可以完成,所以开发中大家可以尝试着使用它,我们还可以使用StopCoroutine(“name”)来关闭一个正在执行的异步线程。
(10)
可以点击右上角的那个类似 十字 的按钮,现在y轴指向下面,所以倒过来了点击带尖的会转向那个方向,中间的方块是转换透视和Iso观察方式或者按 alt ,会出现一个 眼睛 图标,此时按住左键并移动鼠标就可以转动场景了
0 0
- unity_tips
- 非码农也能看懂的“机器学习”原理
- VMWARE TOOLS安装提示THE PATH IS NOT A VALID PATH TO THE GENERIC KERNEL HEADERS
- 【C/C++】构造函数的初始化列表
- linux,串口读取指定数目的字节,串口读取数据错误
- (android)如何创建自己可用的Service类
- unity_tips
- hadoop学习笔记1 对于hadoop的浅识
- Mysql字段为整型UNSIGNED,当字段值为0在减1后
- 微信航班信息通知系统-航显系统研究第93篇
- 硬盘中的文件中毒了要怎么恢复?
- Python读书笔记第九章:数据结构
- 让HTTP萌娘帮你记住状态码吧
- ubuntu haproxy 日志 日志切割
- ruby on rails 安装问题