[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 15:25:59
[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应

[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应
[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应

[Unity3D]手机3D游戏开发:如何使用Unity3D中自带的重力感应
汪 汪海的实验室 海的实验室
- - 各种图形学实验和数据结构实验以及其他一切琐碎杂乱的小笔记们都相遇在此齐聚一堂共同守候 0 - - 各种图形学实验和数据结构实验以及其他一切琐碎杂乱的小笔记们都相遇在此齐聚一堂共同守候 0
error(s), 0 warning(s) 这神奇时刻的到来 error(s), 0 warning(s) 这神奇时刻的到来
学习Unity脚本推荐:Unity3D官网索引
重力感应在手机游戏的开发中非常常见.Unity3D本身集合了重力感应的相关内容.
一个简单的JS脚本示范一下重力感应的使用.
CSDNGravity.js:
//物体的贴图
var round : Texture2D;
//物体在屏幕中显示的X Y坐标var x = 0;var y = 0;
//物体屏幕显示的最大 X Y 范围
var cross_x = 0;
var cross_y = 0;
function Start(){
//初始化赋值
cross_x = Screen.width - round.width;
cross_y = Screen.height - round.height;}
function OnGUI () {
//整体显示 x y z 重力感应的重力分量
GUI.Label(Rect(0,0,480,100),"position is " + Input.acceleration);//绘制物体GUI.DrawTexture(Rect(x,y,256,256),round);}
function Update(){
//根据重力分量修改物体的位置这里乘以30的意思是让物体移动的快一些
x += Input.acceleration.x * 30;
y += -Input.acceleration.y * 30;
//避免物体超出屏幕if(x < 0){x = 0;}else if(x > cross_x){
x = cross_x;}if(y < 0){y = 0;}else if(y > cross_y){
y = cross_y;}}这里的Input是指Unity中的输入,acceleration便是其重力了,x和y分别代表其重力分量.
创建完毕之后只需要添加纹理图片即可:1
2