zoukankan      html  css  js  c++  java
  • 重力感应操控(unity iphone)

    方案一:speed
    public var simulateAccelerometer:boolean = false;
    var speed = 10.0;
    function Update () {
    	var dir : Vector3 = Vector3.zero;
    	if (simulateAccelerometer)
    	{
    		dir.x = Input.GetAxis("Horizontal");
    		dir.y = Input.GetAxis("Vertical");
    	}
    	else
    	{
    		dir.x = Input.acceleration.x;
    		dir.y = Input.acceleration.y;
    	
    		// clamp acceleration vector to unit sphere
    		if (dir.sqrMagnitude > 1)
    			dir.Normalize();
    		// Make it move 10 meters per second instead of 10 meters per frame...
    	}
    	dir *= Time.deltaTime;
    	// Move object
    	transform.Translate (dir * speed);
    }
    

    也可以把速度换成力

    方案二:Force
    public var force:float = 1.0;
    public var simulateAccelerometer:boolean = false;
    
    function FixedUpdate () {
    	var dir : Vector3 = Vector3.zero;
    
    	if (simulateAccelerometer)
    	{
    		// using joystick input instead of iPhone accelerometer
    		dir.x = Input.GetAxis("Horizontal");
    		dir.y = Input.GetAxis("Vertical");
    	}
    	else
    	{
    		// we assume that device is held parallel to the ground
    		// and Home button is in the right hand
    		
    		// remap device acceleration axis to game coordinates
    		// 1) XY plane of the device is mapped onto XZ plane
    		// 2) rotated 90 degrees around Y axis
    		dir.x = Input.acceleration.y;
    		dir.y = Input.acceleration.x;
    		
    		// clamp acceleration vector to unit sphere
    		if (dir.sqrMagnitude > 1)
    			dir.Normalize();
    	}
    	
    	rigidbody.AddForce(dir * force);
    }
    

    个人感觉方案一操控起来比较灵活,反应灵敏。方案二操控起来具有惯性,缓冲明显。

  • 相关阅读:
    MySQL事物原理及事务隔离级别
    sql中in和exists的原理及使用场景。
    PHP实现多继承
    磁盘inode节点被占满的解决方法
    使用uwsgi和gunicorn部署Django项目
    python自学经验,每天进步一点点
    msyql 5.7安装遇到的坑
    shell 三剑客
    nginx 配置
    websphere 新建profile
  • 原文地址:https://www.cnblogs.com/lm3515/p/1833957.html
Copyright © 2011-2022 走看看