Quantcast
Channel: Questions in topic: "ios"
Viewing all articles
Browse latest Browse all 4709

Control the camera with a half of the touch screen

$
0
0
hi friends whit this script i can control the camera. but I want to control it with only half of the screen. please help me :) var target : Transform; var distance = 10.0; var xSpeed = 250.0; var ySpeed = 120.0; private var x = 0.0; private var y = 0.0; var xsign =1; @script AddComponentMenu("Camera-Control/Mouse Orbit") function Update () { var angles = transform.eulerAngles; x = angles.y; y = angles.x; var rotation = Quaternion.Euler(y, x, 0); var position = rotation * Vector3(0.0, 0.0, -distance) + target.position; transform.rotation = rotation; transform.position = position; } function LateUpdate () { //get the rotationsigns var forward = transform.TransformDirection(Vector3.up); var forward2 = target.transform.TransformDirection(Vector3.up); if (Vector3.Dot(forward,forward2) < 0) xsign = -1; else xsign =1; for (var touch : Touch in Input.touches) { if (touch.phase == TouchPhase.Moved) { x += xsign * touch.deltaPosition.x * xSpeed *0.02; y -= touch.deltaPosition.y * ySpeed *0.02; var rotation = Quaternion.Euler(y, x, 0); var position = rotation * Vector3(0.0, 0.0, -distance) + target.position; transform.rotation = rotation; transform.position = position; } } } ///// For pinch zoom. Assign this to the parent object //#pragma strict public var scaleFactor: float = 10; public var maxZoom : float = 20; function zoom(){ if ( Input.touchCount == 2 ){ var touch1 : Touch = Input.GetTouch( 0 ); var touch2 : Touch = Input.GetTouch( 1 ); if ( touch1.position.y < touch2.position.y ) { transform.localScale.x -= ( touch1.deltaPosition.x - touch2.deltaPosition.x ) / scaleFactor; transform.localScale.y -= ( touch1.deltaPosition.x - touch2.deltaPosition.x ) / scaleFactor; transform.localScale.z -= ( touch1.deltaPosition.x - touch2.deltaPosition.x ) / scaleFactor; } if ( touch1.position.y > touch2.position.y) { transform.localScale.x += ( touch1.deltaPosition.x - touch2.deltaPosition.x ) / scaleFactor; transform.localScale.y += ( touch1.deltaPosition.x - touch2.deltaPosition.x ) / scaleFactor; transform.localScale.z += ( touch1.deltaPosition.x - touch2.deltaPosition.x ) / scaleFactor; } if(transform.localScale.x >= maxZoom) transform.localScale.x = maxZoom; if(transform.localScale.y >= maxZoom) transform.localScale.y = maxZoom; if(transform.localScale.z >= maxZoom) transform.localScale.z = maxZoom; if(transform.localScale.x <= 0.4) transform.localScale.x = 0.4; if(transform.localScale.y <= 0.4) transform.localScale.y = 0.4; if(transform.localScale.z <= 0.4) transform.localScale.z = 0.4; } }

Viewing all articles
Browse latest Browse all 4709

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>