Click here to Skip to main content
15,886,026 members
Please Sign up or sign in to vote.
1.44/5 (2 votes)
hi there i have a problem with my 2d character again...i fixed my previous problems but the new problem is that,that i cant make my character punchin...he walks,he jumps pretty well but i'm in some problem with punchin movement or anything like this...i made a punch animation and i made a transation to the idle and from idle to puch in the animator window...and also i made a trigger parameter but my code dosent work...may be the code i wrote is completley worng...if thats wrong please tell me what shout id do? thanks

C#
using UnityEngine;
using System.Collections;

public class ScrorpionControllerScript : MonoBehaviour 
{
	public float maxSpeed = 10f;
	bool facingRight = true;

	Animator anim;

	bool grounded = false;
	public Transform groundCheck;
	float groundRadius = 0.2f;
	public LayerMask whatIsGround;
	float jumpTime, jumpDelay = 0.2f;
	bool jumped;
	float punchTime, punchDelay = .5f;
	bool punch;


	// Use this for initialization
	void Start () 
	{
		anim = GetComponent<Animator> ();
	}
	
	// Update is called once per frame
	void FixedUpdate () 
	{
		grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, whatIsGround);
		anim.SetBool ("Ground", grounded);

		anim.SetFloat ("vSpeed", rigidbody2D.velocity.y);

		anim.SetBool ("Ground", grounded);

		float move = Input.GetAxis ("Horizontal");

		anim.SetFloat ("wa", Mathf.Abs (move));

			rigidbody2D.velocity = new Vector2(move * maxSpeed, rigidbody2D.velocity.y);

		    if(move > 0 &&! facingRight)
			Flip ();
		    else if (move < 0 && facingRight)
			Flip ();
	}

	void Update()
	{
		if(Input.GetKeyDown (KeyCode.Space) && grounded)
		{
			rigidbody2D.AddForce(transform.up * 275f);
			jumpTime = jumpDelay;
			anim.SetTrigger("Jump");
			jumped = true;
		}
		jumpTime -= Time.deltaTime;
		if (jumpTime <= 0 && grounded && jumped) 
		{
	    	anim.SetTrigger ("Land");
			jumped = false;
		}
		if (Input.GetKeyDown (KeyCode.R));
		{
			punchTime = punchDelay;
			anim.SetTrigger("punch");
			punch = true;
		}
	}

	void Flip()
	{
		facingRight = !facingRight;
		Vector3 theScale = transform.localScale;
		theScale.x *= -1;
		transform.localScale = theScale;
	}
}
Posted
Comments
Andreas Gieriet 21-May-14 9:47am    
Please state a proper problem questions. This is "Quick answers" forum, but you don't even state a proper question. You won't get any decent answer with this text above.
Please ask a decent question one can quickly respond too.
Andi

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900