나는 포켓몬 클론을 만들고있다. 탑 기반의 타일 기반 RPG입니다.부모님을 따르지 않는 아이들
그래서 게임 자체에 4 개의 게임 개체를 추가했습니다. 아래, 왼쪽, 오른쪽으로 전화. 나는 그들을 플레이어 주위에 두었습니다. 이 설정을 사용하여 gameObject가 작동하는지 확인합니다. 물 위에 서 있습니다. 그것이 사실이라면 플레이어는 올라갈 수 없습니다. 그것은 충돌에 대한 나의 일이다. 그러나 제 아이들은 부모님을 따르고 싶지 않습니다. 내가 한 모든 I 플레이어에 게임 오브젝트의 4 끌고 있었고,이 C#을 스크립트를 추가 : 나는 2D 툴킷을 사용하고
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour
{
public LayerMask GroundLayer;
Vector2 startPoint;
Vector2 endPoint;
private float increment;
bool isMoving;
public float speed;
public tk2dTileMap tilemap;
public GameObject up;
public GameObject down;
public GameObject left;
public GameObject right;
void Start()
{
startPoint = transform.position;
endPoint = transform.position;
}
void Update()
{
if (increment <= 1 && isMoving == true)
{
increment += speed/100;
}
else
{
isMoving = false;
}
if (isMoving)
{
transform.position = Vector2.Lerp(startPoint, endPoint, increment);
}
if (Input.GetKey(KeyCode.UpArrow) && isMoving == false)
{
if (MovementEvents(up) == 0)
{
move(up);
}
}
else if (Input.GetKey(KeyCode.DownArrow) && isMoving == false)
{
if (MovementEvents(down) == 0)
{
move(down);
}
}
else if (Input.GetKey(KeyCode.LeftArrow) && isMoving == false)
{
if (MovementEvents(left) == 0)
{
move(left);
}
}
else if (Input.GetKey(KeyCode.RightArrow) && isMoving == false)
{
if (MovementEvents(right) == 0)
{
move(right);
}
}
}
int MovementEvents(GameObject direction)
{
switch (tilemap.GetTileIdAtPosition(direction.transform.position, 0)) //gettileIdAtPosition returns the id of a tile in this case 0 is grass and 1 is water
{
case 0:
return 0;
default:
return 1;
}
}
void move(GameObject direction)
{
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = direction.transform.position;
}
}
.
나는 그것이 잘못된 방식으로 설정하고 있기 때문에 아마도 probally 알고 있지만 내가 뭘 잘못하고있어?
글쎄 그들을 public으로 만들면 에디터에서 gameObject를 스크립트로 드래그 할 수 있습니다. 또한 게임 객체를 플레이어 위에 드래그하여 어린이가되어야합니까? – NullReference
나는 그 방법을 정확하게 테스트 할 기회가 없지만 그렇게 할 기회가 생기면 업데이트 할 것이다. – ssell
노력의 주인에게 감사드립니다. 감사합니다. 당신이해야 할 일은 공공 재산을 만드는 것뿐입니다. 그러면 스크립트를 추가 한 새로운 필드가 보입니다. 게임 객체를 계층 구조에서 빈 필드로 드래그하십시오. 양육에 관한 한 게임 객체를 다른 노드로 끌면됩니다. – NullReference