게임개발이 취미인 고3 학생입니다
다름이 아니라 유티니 모바일게임을 만들고 있습니다.
위와같은 게임인데요. 현재 문제인 부분인 키보드를 통해서는 좌,우,점프 가 전부 되지만 버튼을 통해서는 어떠한 이벤트도 먹히지 않습니다.
제 나름대로 공부도 하고 인터넷에서 코드도 조금 가져와서 만져보았지만 어떻게 해도 버튼을 이용한 캐릭터 움직임이 구현되지 않네요 ㅠㅠ
onclick을 이용해봤지만 역시 안됬습니다...
제 코드에 이상한점이 있는지 봐주셨으면 감사하겠습니다.
--------------------------------------------------------------------------------------------------------------------------
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class Player : MonoBehaviour {
public float movePower = 1f;
public Vector2 jumpPower;
Rigidbody2D rigid;
Vector3 movement;
bool isJumping = false;
bool collision_box = true;
private Animator animator;
private Collider2D mCollider2D;
void Start()
{
rigid = gameObject.GetComponent<Rigidbody2D>();
animator = gameObject.GetComponentInChildren<Animator>();
mCollider2D = GetComponent<Collider2D>();
}
private void Update()
{
if (Input.GetAxisRaw("Horizontal") == 0)
{
animator.SetBool("isMoving", false);
}
else if (Input.GetAxisRaw("Horizontal") < 0)
{
animator.SetInteger("Direcion", -1); //왼쪽 플립
animator.SetBool("isMoving", true);
}
else if (Input.GetAxisRaw("Horizontal") > 0)
{
animator.SetInteger("Direcion", 1); //오른쪽 플립
animator.SetBool("isMoving", true);
}
if (Input.GetButtonDown("Jump") && collision_box)
{
transform.GetComponent<Rigidbody2D>().AddForce(jumpPower, ForceMode2D.Impulse);
}
}
void FixedUpdate()
{
LeftButton();
RightButton();
}
public void LeftButton()
{
Vector3 moveVelocity = Vector3.zero;
if (Input.GetAxisRaw("Horizontal") < 0)
{
moveVelocity = Vector3.left;
transform.localScale = new Vector3(-3.3f, 3.5f, 1);
}
transform.position += moveVelocity * movePower * Time.deltaTime;
}
public void RightButton()
{
Vector3 moveVelocity = Vector3.zero;
if (Input.GetAxisRaw("Horizontal") > 0)
{
moveVelocity = Vector3.right;
transform.localScale = new Vector3(3.3f, 3.5f, 1);
}
transform.position += moveVelocity * movePower * Time.deltaTime;
}
}