几个月前,我开始了对Unity2D开发的探索,所以我对所有的统一引擎术语还是相当陌生的。在我的游戏中,我决定使用‘生命’。我给出了(在我看来)应该工作的东西,但是每次玩家死掉而不是在场景中减少生命计数器并重新启动它时,它会立即加载场景1(即GameOver屏幕),我在这个页面上的逻辑是不正确的,还是只有一个比PlayerPrefs更好的方法来处理生活呢?(还有:值得一提的是,这些生命是实例化/发送给播放器脚本中的playerprefs的,我不认为我需要在这里包含这个)
这是我的驱逐舰对象脚本中用于解释“死亡”的主要代码块:
public static int lives;
void Star
所以我想知道是否有一种方法可以在玩家(你,用户)收集到10分后,让一个衍生的物体逐渐移动/移动得更快。当玩家获得另外10分时,速度会更快,等等?
这是我的移动脚本,附加到在中衍生的对象:
public class Movement : MonoBehaviour
{
public static int movespeed = 20;
public Vector3 userDirection = Vector3.right;
public void Update()
{
transform.Translate(userDirection * movespeed * T
我有这样的剧本:
public Sprite[] Images; //Index starts at one because we are setting the first sprite in Start() method
public int _Index = 1;
public float width;
public float height;
void Start(){
//Set the image to the first one
this.gameObject.GetComponent<SpriteRenderer>().sprite = Imag
我试着用c#制作一个统一的武器系统。我试图将一个值从一个脚本更改为另一个脚本,但我遇到了一些问题。我想把武器号码改成1。
using UnityEngine;
public class Pew : MonoBehaviour
{
public int weapon = 0;
}
所以,我用了这行代码
using UnityEngine;
public class PickUpBow : MonoBehaviour
{
public void OnCollisionEnter2D(Collision2D collision)
{
GameObject thePlay
我刚刚开始学习统一/C#。
在C#脚本中,有一件事让我感到困惑,那就是使用了来自类的变量,但是类arn没有直接访问?
例如:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour {
void Start(){
Destroy(gameObject);;
}
}
如果类未被访问,如何访问gameObject?例如,它为什么不:
Destroy(UnityEngine.gameObject)
我正试着制造一个射弹,当它击中球员时,他就会被摧毁。我必须提到的是,投射物将由“实例化”命令生成,使其成为“克隆的游戏对象”。在脚本中,我写到,如果抛射物用" player“标签击中另一个游戏对象,它击中的游戏对象就会被销毁,但是在运行代码和弹丸击中播放机之后,他没有被销毁。我查了一下标签上写着"player“。我在代码中添加了一个调试命令,并设法发现标记没有被检测到。抛射体的脚本和抛丸本身是分开的,所以我将只显示投射脚本,因为它是有问题的脚本。我必须指出的是,脚本不会产生任何错误,除了我前面提到的内容外,模拟运行得很好。
public class Bulletboi : Mo
我对C#相当陌生,目前我正试图通过添加一个弹药限制函数来扩展Ruby的教程,该函数控制Ruby一次拥有的齿轮数量以及她获取额外弹药的能力。现在,我的脚本并没有限制Ruby可以发射的圆圈数,并且无法显示"Cogs: 4“。她能够拿起弹药(拾取设置为触发),但它没有更新齿轮。请帮助,我很想了解我可能做错了什么,因为我的代码没有显示任何错误。
Ruby控制器脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.SceneM
我想让我的网络在我的2D game.For中有一个射击场,如果子弹超出射程,那么销毁bullet.Is如果我不使用RayCast会有问题吗?我的Wepon脚本: //Initialization
public GameObject Bullet;
public Transform FirePoint;
//WeponStats
public float BulletSpeed;
public int Damage;
public float Range;
private float TimeBtwShots;
public float StartTimeBtwShots;
private
我正在为我的2D平台游戏制作一个老板,当大老板死后,我在实例化小老板时遇到了一个问题。因此,我有一个名为BossHealthManager的脚本,在其中,当boss健康达到<= 0时,它将实例化2个较小的boss。然而,当杀死大老板并实例化两个小老板时,他们当场就一直在发抖,一动不动。所有的老板都有一个动作脚本。因此,我很困惑为什么两位规模较小的老板不愿搬家。
public class BossHealthManager : MonoBehaviour {
public int enemyHealth;
public GameObject deathEffect;
public i
所以我有一个基本的2D游戏,我拍摄随机产卵的敌人,并杀死他们。我创建了一个脚本,从屏幕边缘的两个点选择一个随机的x和y值,并在任意位置实例化我的敌人预制件。以下是这方面的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemySpawner : MonoBehaviour
{
public Transform LeftScreenIdentifier;
public Transform RightScreenIdentifier;
我正在尝试将项目添加到我的LevelManager脚本中的列表中。对于敌人来说,当他死的时候,他的身体的预制件被添加了必要的对撞机等,供LevelManager处理。
敌人的脚本是:
using UnityEngine;
using System.Collections;
public class EnemyController : MonoBehaviour {
public Rigidbody2D rb;
public Animator anim;
public GameObject deadGuy;
public LevelManager manage
我正在创建一个2D赛车游戏在Unity2D和不确定如何接近编码我的产卵器为物体,如力量,奖励和障碍在我的移动相机的右边。摄像机跟着我的车,从左向右移动。目前,物体在游戏中产卵,但只在一个点上产卵,并在摄像机滚动过去时继续在同一点上产卵。抱歉,如果答案很简单的话。
下面是我使用的脚本:
coin.cs附在我的硬币预制件上
public class coin : MonoBehaviour
{
public Camera mainCamera;
Rigidbody2D rb;
// Start is called before the first frame update
void Start(
首先,我想告诉你们,我已经对这个问题做了一个扩展性的搜索,但没有找到解决办法。
我有一个名为C#的Enemy_Animation脚本,在这个脚本中,我声明了一个来自动画类型的变量,并希望通过统一拖放动画。
问题是,我不能分配它,我没有错误。
视频:
Enemy_Animation.cs:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Enemy_Animation : MonoBehaviour
{
public Animator play_ani
我很难在C#中将js脚本作为组件添加或删除到gameObject中,因为我是Unity and coding的新手。
我有一个js,需要在运行时通过单击GUI.Button添加到MainCamera中。此脚本必须在稍后单击相同的GUI.Button时销毁。
我已经设法在运行时使用以下代码片段在MainCamera上添加了js脚本:
public Bearing addBearing; // "Bearing" is the js script and "addBearing the variable to reference this
//some other
我有圆圈游戏预制板。我随机地将它们实例化了50-100次。我在他们身上增加了硬体,然后他们四处走动。问题是,我想摧毁一组这样的预制板,它们有着相同的标签,互相碰撞。但我不能得到他们所有的对撞机。因为他们中的一些人与第二或第三预制板相撞。我怎么能不撞到他们呢?
我想要做的事
我试着用下面的代码来完成它:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Colliders : MonoBehaviour {
public List&l
我在做游戏中的一家商店。我有3个台座在商店,每次你开始游戏,商店将随机生成三个不同的项目从一个项目池,将放在每个基座。这些物品将是每个基座上的子GameObjects。
我试图引用孩子的脚本,这样我就可以从它调用一个方法,将项目的效果应用到播放器上。但是,我不确定如何引用这个脚本组件。我可以使用GameObject成功地引用子transform.GetChild(0).gameObject,但是我不确定如何访问子组件的脚本组件,因为每个子节点都有自己独特的脚本,并具有自己的独特效果。
下面是我父母GameObject的脚本:
public GameObject item;
v
我正在尝试使用C#代码从Unity中的int变量中获取数据。下面是我用来获取int的C#代码。
using UnityEngine;
using System.Collections;
public class endGameMessage : MonoBehaviour {
public static int score2;
void Start () {
GameObject thePlayer = GameObject.FindWithTag("Player");
gameScript game = thePlayer.GetComponent<
我正在创建一个统一的2D游戏,在这个游戏中,一个名为GameObject的Moving_Truck被要求从左边顺利地进入场景。由于稍后需要这样做,我尝试让方法从另一个对象上的其他代码中运行,该对象称为场景控制,脚本称为开始场景。
问题是当我按下空间按钮时,Moving_Truck游戏对象不会移动。我对C#相当陌生,并且尝试过一些解决方案,比如Vector2.MoveTowards和Vector2.Lerp。我还多次修改我的代码,试图让它正常工作。以下是这些守则的最新版本:
CharacterBase
using UnityEngine;
using System.Collections;
p
我对编程和C#很陌生。我正试图为我的平台游戏建立一个近战系统,以下是yt的教程。
这是我的PlayerAttack脚本:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class PlayerAttack : MonoBehaviour {
//[SerializeField] private float attackCooldown;
[SerializeField] private float range;
[SerializeField]
我的敌人射击有这个问题,你看,我在用光线投射来探测我的玩家在哪里,一旦发现我想让敌人射击,到目前为止我已经做到了,但是每颗实例化的子弹之间没有延迟!所以子弹是不断地射出,而不是在每个产卵之间延迟。我已经尝试了很多不同的解决方案来解决这个问题,但是没有什么效果!我已经尝试过IEnumerator、对象池、创建一个倒计时和调用&调用,但是我的子弹仍然立即被实例化,没有任何延迟。有谁知道如何在每个实例化的子弹之间延迟吗??谢谢!
这是我的剧本:
public GameObject bulletPrefab;
public Transform bulletSpawn;
public Trans
我刚开始使用统一,我还在学习C#。所以请原谅我,如果下面提到的问题看起来有点奇怪或容易解决的话。
我正在创建一个项目,以尝试从炮塔发射子弹,并且我在我的子弹脚本中包含了一个函数,它将在子弹越过某些边界后销毁它,并在我的bulletSpawner脚本中包含一个函数来实例化被销毁的子弹。因为某种原因,每当我弹奏并射中子弹,子弹就越过边界,它就不会被克隆。
这是子弹脚本;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bullet : MonoBehaviour
我需要一些帮助与一个功能,我正在实现一个游戏的统一2D。玩家必须拿钥匙来解锁一个门(可能显示一个动画),当玩家走到门口如果他有钥匙,他将自动进入下一个级别。我需要帮助,因为门是不会放进下一层的。
下面是关键代码/脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class KeyScript : MonoBehaviour {
//publi
所以我有一个带有c#脚本的预制件(ScriptA),然后从另一个脚本(ScriptB)实例化这个预制件的许多GameObjects。
public class ScriptA : MonoBehaviour {
public int pos;
..。
public class ScriptB : MonoBehaviour {
public GameObject prefab;
GameObject [] all;
..。然后在某个时候创建对象:
for (int i = 0; i < 10; i++){
Vector3 v = ne
我在做2d赛车游戏..。我在画布背景(公路) .my汽车和敌车中使用UI图像,我试图用这个脚本实例化敌人的汽车,方法是将这个脚本附加到空的gameObject上,然后将敌人的预置附加到enemyCar图像中,在script...but中奇怪的是: enemyCar在层次结构中被实例化,但是我在游戏中看不到它,怎么了?是与孩子和父母有关还是什么?如何使UI图像成为脚本中画布的子图像?
using UnityEngine;
using UnityEngine.UI;
public class Generate : MonoBehaviour
{
public Image enemyCar;
//
我正在用unity2d做一个游戏,大部分的机制都是实现的。剩下的只是死后弹出的一个菜单。我已经创建了菜单,我只需要让它在死后出现
我需要与敌人碰撞的人物动画,背景和敌人的动作。我不知道该怎么做。
我希望所有的动画都停止,游戏暂停,菜单a出现两个按钮:重新启动和退出游戏。
播放器脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Her
我在做2d赛车游戏...我在画布背景(道路)中使用了UI图像,.my汽车和敌人的汽车,我试图用这个脚本实例化敌人的汽车,通过将这个脚本附加到空的gameObject,然后将敌人的预制附加到enemyCar图像,在script...but中奇怪的事情是: enemyCar在层次结构中被实例化,但我在游戏中看不到它,有什么问题吗?错误是与孩子和父母有关还是别的什么?如何在脚本中使该UI图像成为canvas的子级?
using UnityEngine;
using UnityEngine.UI;
public class Generate : MonoBehaviour
{
public