Skip to content

Commit

Permalink
add 90 degree neutral tilt angle option
Browse files Browse the repository at this point in the history
… but hide it on first launch, since it's unintuitive with
accelerometer only. needs gyro yaw to work ideally.
  • Loading branch information
tyson-kubota committed Jan 25, 2014
1 parent 620932c commit c028364
Show file tree
Hide file tree
Showing 3 changed files with 169 additions and 54 deletions.
39 changes: 30 additions & 9 deletions FallingLaunch.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ static var restPosition : Vector3;
static var neutralPosFlat : Vector3 = Vector3(0,0,-1.0);
static var neutralPosTiltedRegular : Vector3 = Vector3(.6,0,-.9);
static var neutralPosTiltedFlipped : Vector3 = Vector3(-.6,0,-.9);
static var neutralPosVertical : Vector3 = Vector3(1.0,0,0.0);
static var neutralPosTilted : Vector3;
static var accelerator : Vector3;
static var calibrationRotation : Quaternion;
Expand Down Expand Up @@ -151,39 +152,59 @@ function OnLevelWasLoaded (level : int) {

function Calibrate () {
tiltable = false;

if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {restPosition = neutralPosTilted;}
else {restPosition = neutralPosFlat;}
else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) {restPosition = neutralPosVertical;}
else {restPosition = neutralPosFlat;}

if (PlayerPrefs.GetInt("invertHorizAxis", 0) == 1) {invertHorizAxisVal = -1;}
else {invertHorizAxisVal = 1;}
if (PlayerPrefs.GetInt("invertVertAxis", 0) == 1) {invertVertAxisVal = -1;}
else {invertVertAxisVal = 1;}
//acceleratorSnapshot = Input.acceleration;
acceleratorSnapshot = Vector3(0.0,0.0,-1.0);
calibrationRotation = Quaternion.FromToRotation(acceleratorSnapshot, restPosition);

tiltable = true;
}

function CalibrateInLevel () {
tiltable = false;

if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {restPosition = neutralPosTilted;}
else {restPosition = neutralPosFlat;}
else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) {restPosition = neutralPosVertical;}
else {restPosition = neutralPosFlat;}

if (PlayerPrefs.GetInt("invertHorizAxis", 0) == 1) {invertHorizAxisVal = -1;}
else {invertHorizAxisVal = 1;}
if (PlayerPrefs.GetInt("invertVertAxis", 0) == 1) {invertVertAxisVal = -1;}
else {invertVertAxisVal = 1;}
calibrationRotation = Quaternion.FromToRotation(acceleratorSnapshot, restPosition);

tiltable = true;
}


function ChangeTilt (toFlat : boolean) {
if (toFlat == false) {
PlayerPrefs.SetInt("TiltNeutral", 1);
Debug.Log("tilt set to angled.");
}
else {
function ChangeTilt (toFlat : int) {
if (toFlat == 2) {
PlayerPrefs.SetInt("TiltNeutral", 2);
Debug.Log("tilt set to vertical.");
}
else if (toFlat == 0) {
PlayerPrefs.SetInt("TiltNeutral", 0);
Debug.Log("tilt set to flat.");
}
else {
PlayerPrefs.SetInt("TiltNeutral", 1);
Debug.Log("tilt set to angled.");
}
CalibrateInLevel();
}
}

// function Update () {
// ListCurrentAccelerometer();
// }
//
// function ListCurrentAccelerometer() {
// Debug.Log ("Your rotation is " + Input.acceleration);
// }
114 changes: 83 additions & 31 deletions fallingStartMenuUI.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,11 @@ var initialRespawn : Respawn;

var angledTiltLabel : UIButton;
var flatTiltLabel : UIButton;
var verticalTiltLabel : UIButton;

var angledTiltChooser : UIButton;
var flatTiltChooser : UIButton;
var verticalTiltChooser : UIButton;
var TogglingTiltNeutral : boolean = false;

var levelToLoad : String = "";
Expand Down Expand Up @@ -65,9 +68,6 @@ var invertVertAxisTextNo : UIButton;
var optionsButton : UIButton;
var isSaving : boolean = false;

var optionsAngledTiltChooser : UIButton;
var optionsFlatTiltChooser : UIButton;

var openSiteButtonText : UIButton;


Expand Down Expand Up @@ -282,17 +282,26 @@ function Start () {
angledTiltLabel = UIButton.create("neutralAngle45.png","neutralAngle45.png", 0, 0 );
angledTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 );
angledTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 );
angledTiltLabel.pixelsFromCenter( 0, -90 );
// angledTiltLabel.pixelsFromCenter( 0, 0 );
angledTiltLabel.pixelsFromCenter( 0, 90 );
angledTiltLabel.onTouchUpInside += AngledTiltNeutral;
angledTiltLabel.hidden = true;

flatTiltLabel = UIButton.create("neutralAngleFlat.png","neutralAngleFlat.png", 0, 0 );
flatTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 );
flatTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 );
flatTiltLabel.pixelsFromCenter( 0, 90 );
// flatTiltLabel.pixelsFromCenter( 0, -120 );
flatTiltLabel.pixelsFromCenter( 0, -90 );
flatTiltLabel.onTouchUpInside += FlatTiltNeutral;
flatTiltLabel.hidden = true;

verticalTiltLabel = UIButton.create("neutralAngleVertical.png","neutralAngleVertical.png", 0, 0 );
verticalTiltLabel.normalTouchOffsets = new UIEdgeOffsets( 30 );
verticalTiltLabel.highlightedTouchOffsets = new UIEdgeOffsets( 30 );
// verticalTiltLabel.pixelsFromCenter( 0, 120 );
// verticalTiltLabel.onTouchUpInside += VerticalTiltNeutral;
verticalTiltLabel.hidden = true;


angledTiltChooser = UIButton.create("neutralAngle45.png","neutralAngle45.png", 0, 0 );
angledTiltChooser.normalTouchOffsets = new UIEdgeOffsets( 20 );
Expand All @@ -310,6 +319,13 @@ function Start () {
flatTiltChooser.onTouchUpInside += ToggleTiltNeutral;
flatTiltChooser.hidden = true;

verticalTiltChooser = UIButton.create("neutralAngleVertical.png","neutralAngleVertical.png", 0, 0 );
verticalTiltChooser.normalTouchOffsets = new UIEdgeOffsets( 20 );
verticalTiltChooser.highlightedTouchOffsets = new UIEdgeOffsets( 20 );
verticalTiltChooser.positionFromLeft( -.16f, .52f );
verticalTiltChooser.onTouchUpInside += ToggleTiltNeutral;
verticalTiltChooser.hidden = true;


openSiteButtonText = UIButton.create("tutorialBackground.png","tutorialBackground.png", 40, 40);
openSiteButtonText.positionFromCenter(0,0);
Expand Down Expand Up @@ -465,31 +481,33 @@ function ShowStart() {
//yield FixWrongInitialScreenOrientation();
}


function DisplayTiltChooser () {

if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {
angledTiltChooser.hidden = false;
flatTiltChooser.hidden = true;
verticalTiltChooser.hidden = true;

angledTiltChooser.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn);
}
else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) {
angledTiltChooser.hidden = true;
flatTiltChooser.hidden = true;
verticalTiltChooser.hidden = false;

verticalTiltChooser.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn);
}
else {
angledTiltChooser.hidden = true;
flatTiltChooser.hidden = false;
verticalTiltChooser.hidden = true;

flatTiltChooser.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn);
}
tiltText2.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn);
tiltText2.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeIn);
}

// function DisplayTilt () {
// if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {
// flatTiltChooser.hidden = true;
// angledTiltChooser.hidden = false;
// angledTiltChooser.alphaFromTo(2.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut);
// }
// else {
// flatTiltChooser.hidden = false;
// angledTiltChooser.hidden = true;
// flatTiltChooser.alphaFromTo(2.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut);
// }
// }

function CheckTiltAngle() {
canShowStart = false;
Expand Down Expand Up @@ -658,14 +676,22 @@ function ToggleTiltNeutral () {
TogglingTiltNeutral = true;

if (PlayerPrefs.GetInt("TiltNeutral", 0) == 1) {
fallingLaunchComponent.ChangeTilt(true);
flatTiltChooser.hidden = false;
fallingLaunchComponent.ChangeTilt(2);
flatTiltChooser.hidden = true;
angledTiltChooser.hidden = true;
verticalTiltChooser.hidden = false;
}
else if (PlayerPrefs.GetInt("TiltNeutral", 0) == 2) {
fallingLaunchComponent.ChangeTilt(0);
flatTiltChooser.hidden = false;
angledTiltChooser.hidden = true;
verticalTiltChooser.hidden = true;
}
else {
fallingLaunchComponent.ChangeTilt(false);
angledTiltChooser.hidden = false;
fallingLaunchComponent.ChangeTilt(1);
flatTiltChooser.hidden = true;
angledTiltChooser.hidden = false;
verticalTiltChooser.hidden = true;
}

TogglingTiltNeutral = false;
Expand All @@ -678,13 +704,14 @@ function FlatTiltNeutral () {

TogglingTiltNeutral = true;

fallingLaunchComponent.ChangeTilt(true);
fallingLaunchComponent.ChangeTilt(0);
flatTiltLabel.hidden = false;
angledTiltLabel.hidden = true;
verticalTiltLabel.hidden = true;

TogglingTiltNeutral = false;

fadeAndLoad(true);
fadeAndLoad(0);
}
}

Expand All @@ -693,28 +720,48 @@ function AngledTiltNeutral () {

TogglingTiltNeutral = true;

fallingLaunchComponent.ChangeTilt(false);
fallingLaunchComponent.ChangeTilt(1);
angledTiltLabel.hidden = false;
flatTiltLabel.hidden = true;
verticalTiltLabel.hidden = true;

TogglingTiltNeutral = false;

fadeAndLoad(false);
fadeAndLoad(1);
}
}

function VerticalTiltNeutral () {
if (TogglingTiltNeutral == false) {

TogglingTiltNeutral = true;

fallingLaunchComponent.ChangeTilt(2);
angledTiltLabel.hidden = true;
flatTiltLabel.hidden = true;
verticalTiltLabel.hidden = false;

TogglingTiltNeutral = false;

fadeAndLoad(2);
}
}

function fadeAndLoad (flatNeutral : boolean) {
function fadeAndLoad (flatNeutral : int) {
//StartLevelLoad(level1);
tiltText1.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeOut);

if (flatNeutral) {
if (flatNeutral == 0) {
flatTiltLabel.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeIn);
angledTiltLabel.hidden = true;
// angledTiltLabel.hidden = true;
}
else {
else if (flatNeutral == 1) {
angledTiltLabel.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeIn);
flatTiltLabel.hidden = true;
// flatTiltLabel.hidden = true;
}
else {
verticalTiltLabel.alphaTo(1.0f, 0.0f, Easing.Sinusoidal.easeIn);
// verticalTiltLabel.hidden = true;
}

yield WaitForSeconds (1.0f);
Expand All @@ -733,6 +780,7 @@ function fadeAndLoad (flatNeutral : boolean) {
function ShowTiltNeutralOptions () {
flatTiltLabel.hidden = false;
angledTiltLabel.hidden = false;
// verticalTiltLabel.hidden = false;
tiltText1.hidden = false;

rightArrow.hidden = true;
Expand All @@ -743,6 +791,8 @@ function ShowTiltNeutralOptions () {
tiltText1.alphaFromTo(1.0f, 0.0f, 0.8f, Easing.Sinusoidal.easeOut);
flatTiltLabel.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut);
angledTiltLabel.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut);
// verticalTiltLabel.alphaFromTo(1.0f, 0.0f, 1.0f, Easing.Sinusoidal.easeOut);

}

function StartLevelLoad(levelName: String) {
Expand Down Expand Up @@ -770,6 +820,7 @@ function FadeOutLevelButtons(timer : float) {
leftArrow.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
angledTiltChooser.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
flatTiltChooser.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
verticalTiltChooser.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
aboutButtonStart.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
howToButton.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
optionsButton.alphaTo(timer, 0.0f, Easing.Sinusoidal.easeOut);
Expand Down Expand Up @@ -835,6 +886,7 @@ function HideOptions() {

angledTiltChooser.hidden = true;
flatTiltChooser.hidden = true;
verticalTiltChooser.hidden = true;

if (PlayerPrefs.HasKey("LatestLevel")) {
optionsButton.hidden = false;
Expand Down
Loading

0 comments on commit c028364

Please sign in to comment.