gpt4 book ai didi

c# - 2d 平台游戏敌人运动

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:49 25 4
gpt4 key购买 nike

我已经研究了至少两个小时,关于如何制作一个在平台上左右移动而不会掉落的敌人角色。我已经尝试了 4 个不同的脚本并浏览了 2 个 youtube 教程,但我似乎在所有方面都遇到了错误。这是我的第一篇文章,所以如果我做错了什么请通知我,谢谢 :)。

我的代码如下:

using UnityEngine;
using System.Collections;

public class EnemyPatrol : MonoBehaviour {

public float MoveSpeed;
public bool MoveRight;
public var velocity: Vector2;

void Update ()
{
if (MoveRight) {
public bool GetComponent<rigidbody2D>().velocity =
new Vector2(MoveSpeed, rigidbody2D.velocity.y);
} else {
public bool GetComponent<rigidbody2D>().velocity =
new Vector2(-MoveSpeed, rigidbody2D.velocity.y);
}
}
}

我的错误:

Assets/Scripts/EnemyPatrol.cs(8,28): error CS1519: Unexpected symbol \`:' in class, struct, or interface member declaration  
Assets/Scripts/EnemyPatrol.cs(8,37): error CS1519: Unexpected symbol \`;' in class, struct, or interface member declaration
Assets/Scripts/EnemyPatrol.cs(13,30): error CS1525: Unexpected symbol \`public'
Assets/Scripts/EnemyPatrol.cs(15,30): error CS1525: Unexpected symbol \`public'

最佳答案

这是一个非常简单的解决方案,可以帮助您入门。

using UnityEngine;
using System.Collections;

public class EnemyPatrol : MonoBehaviour
{
Rigidbody2D enemyRigidBody2D;
public int UnitsToMove = 5;
public float EnemySpeed = 500;
public bool _isFacingRight;
private float _startPos;
private float _endPos;

public bool _moveRight = true;


// Use this for initialization
public void Awake()
{
enemyRigidBody2D = GetComponent<Rigidbody2D>();
_startPos = transform.position.x;
_endPos = _startPos + UnitsToMove;
_isFacingRight = transform.localScale.x > 0;
}


// Update is called once per frame
public void Update()
{

if (_moveRight)
{
enemyRigidBody2D.AddForce(Vector2.right * EnemySpeed * Time.deltaTime);
if (!_isFacingRight)
Flip();
}

if (enemyRigidBody2D.position.x >= _endPos)
_moveRight = false;

if (!_moveRight)
{
enemyRigidBody2D.AddForce(-Vector2.right * EnemySpeed * Time.deltaTime);
if (_isFacingRight)
Flip();
}
if (enemyRigidBody2D.position.x <= _startPos)
_moveRight = true;


}

public void Flip()
{
transform.localScale = new Vector3(-transform.localScale.x, transform.localScale.y, transform.localScale.z);
_isFacingRight = transform.localScale.x > 0;
}

}

关于c# - 2d 平台游戏敌人运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31493709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com