오류가 액세스하려고 :MissingComponentException : 거기 아니 'SpriteRenderer 없다'는 "엉금 엉금"게임 오브젝트에 부착하지만, 스크립트는 그것을 다음과 같이
MissingComponentException :이를 더 'SpriteRenderer 없다'는 "Gumbaa에 부착 "게임 객체이지만 스크립트가 액세스하려고합니다. SpriteRenderer를 게임 객체 "Gumbaa"에 추가해야 할 것입니다. 또는 스크립트를 사용하기 전에 구성 요소가 첨부되어 있는지 확인해야합니다. UnityEngine.Renderer.get_bounds() (/Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/GraphicsBindings.gen.cs:1007) EnemyMovement.Start() (Assets/Scripts/EnemyMovement.cs에 있음) : 21)
내 게임도 재생 버튼을 클릭 할 때마다 자동으로 멈 춥니 다.
Gumbaa에 'SpriteRenderer'구성 요소를 추가하려고하면 다음과 같은 오류 메시지가 나타납니다. 'SpriteRenderer'를 Koopa Troopa에 추가 할 수 없습니다. 'MeshFilter'파생 된 구성 요소와 충돌합니다.
using System.Collections;
using UnityEngine;
public class EnemyMovement : MonoBehaviour
{
public float speed = 2.7f;
public LayerMask EnemyMask;
Transform myTrans;
float myWidth, myHeight;
Rigidbody2D rb;
SpriteRenderer mySprite;
// Use this for initialization
void Start()
{
myTrans = this.transform;
rb = this.gameObject.GetComponent<Rigidbody2D>();
mySprite = this.gameObject.GetComponent<SpriteRenderer>();
myWidth = mySprite.bounds.extents.x;
myHeight = mySprite.bounds.extents.y;
}
// Update is called once per frame
void FixedUpdate()
{
Physics2D.IgnoreLayerCollision (8, 9);
Vector2 LineCastPos = (myTrans.position.toVector2() + myTrans.right.toVector2() * myWidth + Vector2.up * myHeight * 1.2f);
Debug.DrawLine (LineCastPos, LineCastPos + myTrans.right.toVector2() * 1.2f);
bool isBlocked = Physics2D.Linecast (LineCastPos, LineCastPos + myTrans.right.toVector2() * 1.2f, EnemyMask);
if (isBlocked)
{
Vector2 currRot = myTrans.eulerAngles;
currRot.y += 180;
myTrans.eulerAngles = currRot;
}
Vector2 myVel = rb.velocity;
myVel.x = myTrans.right.x * speed ;
rb.velocity = myVel;
}
}
에 달려 사용해야 할 경우 알고
SpriteRenderer
를 선택해야합니다. 'EnemyMovement' 스크립트가 첨부 된 동일한 GameObject에 첨부 된 SpriteRenderer가 없습니다. 당신의 장면을 확인하십시오. – Programmer
GameObject는 Gumbaa입니다. 그리고 구성 요소 'SpriteRenderer'을 해당 관리자에 추가하려고 시도했지만 다음 오류 메시지가 나타납니다. 'SpriteRenderer'를 Koopa Troopa에 추가 할 수 없습니다. 기존 'MeshFilter'파생 된 구성 요소와 충돌하기 때문입니다. 검사관의 스크린 샷을 확인할 수 있습니까 –
이 것이 3D (모델) 객체입니까? 그렇다면 2D 용 SpriteRenderer 대신 MeshRenderer를 추가하십시오. 그것이 2D 객체라면, 첨부 된 MeshFilter를 제거하십시오. – Programmer