- Home /
Question by
Sky God · Jul 16, 2014 at 03:06 PM ·
iphoneiphonetouch
Pokemon clone touch movement.
Hello, I am making a Pokemon clone and I was having difficulties converting it onto the iPhone. I have my movement in a grid like setting using WASD for movement and space for the action button. I am fairly new to unity and I was wondering how to create a touch pad for the controls and action button.
If needed, here is my play movement script:
function Update () {
if(Input.GetKeyDown("space") && !disableMovement) {
talkToNpc();
boulderPush();
potBreak();
secret();
}
var Sprite = gameObject.GetComponent(AnimateSprite);
if(increment <=1 && isMoving == true) {
increment += speed/100;
}
else {
isMoving = false;
}
if(isMoving) {
transform.position = Vector3.Lerp(startPoint, endPoint, increment);
}
else {
Sprite.totalCells = 1;
}
if(!isInCombat && !disableMovement) {
if(Input.GetKey("w") && isMoving == false) {
Sprite.rowNumber = 2;
Sprite.totalCells = 1;
directionFacing = "north";
var disableMove : boolean;
var hit : RaycastHit;
if (Physics.Raycast (transform.position, Vector3.up, hit, 1.0)) {
var distanceToGround = hit.distance;
if(hit.collider.gameObject.tag == "Wall") {
disableMove = true;
}
}
if(!disableMove) {
Sprite.rowNumber = 2;
Sprite.totalCells = 8;
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x,transform.position.y + 1,transform.position.z);
}
disableMove = false;
}
else if(Input.GetKey("s") && isMoving == false) {
Sprite.rowNumber = 3;
Sprite.totalCells = 1;
directionFacing = "south";
var disableMove2 : boolean;
var hit2 : RaycastHit;
if (Physics.Raycast (transform.position, -Vector3.up, hit2, 1.0)) {
var distanceToGround2 = hit2.distance;
if(hit2.collider.gameObject.tag == "Wall") {
disableMove2 = true;
}
}
if(!disableMove2) {
Sprite.rowNumber = 3;
Sprite.totalCells = 8;
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x,transform.position.y - 1,transform.position.z);
}
disableMove2 = false;
}
else if(Input.GetKey("d") && isMoving == false) {
Sprite.rowNumber = 1;
Sprite.totalCells = 1;
directionFacing = "east";
var disableMove3 : boolean;
var hit3 : RaycastHit;
if (Physics.Raycast (transform.position, -Vector3.left, hit3, 1.0)) {
var distanceToGround3 = hit3.distance;
if(hit3.collider.gameObject.tag == "Wall") {
disableMove3 = true;
}
}
if(!disableMove3) {
Sprite.rowNumber = 1;
Sprite.totalCells = 8;
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x + 1,transform.position.y,transform.position.z);
}
disableMove3 = false;
}
else if(Input.GetKey("a") && isMoving == false) {
Sprite.rowNumber = 0;
Sprite.totalCells = 1;
directionFacing = "west";
var disableMove4 : boolean;
var hit4 : RaycastHit;
if (Physics.Raycast (transform.position, Vector3.left, hit4, 1.0)) {
var distanceToGround4 = hit4.distance;
if(hit4.collider.gameObject.tag == "Wall") {
disableMove4 = true;
}
}
if(!disableMove4) {
Sprite.rowNumber = 0;
Sprite.totalCells = 8;
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x - 1,transform.position.y,transform.position.z);
}
disableMove4 = false;
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Unity iPhone scene transition on Tap of GUIText 1 Answer
The iPhoneInput.touchCount is 5 while more or no touch actually. 1 Answer
Three ingame buttons conflict with each other on iOS 0 Answers
iphone bullet through paper problem 1 Answer
I want to destroy the top object from a stack of objects on touch, not all objects. 1 Answer