我正在尝试在Unity 2d中创建一个游戏。我已经完成了大部分想做的事情,并且已经转移到敌人身上。敌人(龙)来自屏幕的不同点。为此,我将精灵游戏对象放置在希望龙产生的地方。我已经将所有这些对象作为另一个对象DragonAncores的子对象。我在DragonAncores上附加了一个脚本,内容如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DragonTracker : MonoBehaviour {
// is gold dragon in play?
public bool GoldDragonInit = false;
// curently active dragons
public int DragonCount = 0;
// defalts to 5
public int Difficulty = 5;
}
然后,我将脚本附加到每个精灵上,最终将在来自其他变量的If逻辑逻辑偏向的Dragon Prefab(包含2个对撞器和一个动画师)中最终召唤。
下面是我正在使用的代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Dragons : MonoBehaviour {
// same as GoldDragonInit
bool GoldDragonSpawn = false;
// same number as DragonCount in DragonTrackeer
int LiveDragons;
// same as Difficulty
int DifLev;
//get cariables from other script
DragonAncors.cs.GetComponent.<DragonTracker>() GoldDragonInit = GoldDragonSpawn;
System.Random RNG= new System.Random();
void update()
{
RSpawn=RNG.Next(0,2)
DragonType=RNG.Next(0,101)
if (RSpawn = 1) ;
{
if (LiveDragons > DifLev) ;
{
if (DragonType > 99) ;
{
// summon regular dragon
}
if (DragonType = 100) ;
{
if (GoldDragonSpawn = true) ;
{
// summon gold dragon
}
}
}
}
}
}
这显示了我的等级结构和锚点(Squaair十字准线看上去的东西)
我一直在寻找其他解决该主题的线程,他们都尝试了不同的方法,这些方法都行不通。 我正在使用Unity 2018.2.18f1
非常感谢
答案 0 :(得分:1)
//get cariables from other script
DragonAncors.cs.GetComponent.<DragonTracker>() GoldDragonInit = GoldDragonSpawn;
为什么?因为它不在方法内部。
此外,该评论是错误的。它不是获取变量(也有输入错误),它不是 setting 在另一个脚本中的变量!
Visual Studio抱怨的第一个... 16个问题的原因是由于此行。
在此位置,您只能声明方法,字段和属性,并且您当前正在尝试访问另一个类并更改其成员之一(您只能在一个方法内执行此操作)。
另外,您认为.cs
是因为“ DragonAnchors.cs是文件名!”您不需要这样做。我不确定如何改写此行(在Start()
内部),因为我不确定您实际上要做什么。也就是说,我不知道DragonAnchors实例实际位于何处。您正在调用GetComponent()
,该访问权限通常保留用于访问附加到游戏对象的组件,但是由于您尝试在静态类引用上进行操作,因此我不确定是否要在{ {1}}或其他东西。
答案 1 :(得分:1)
这是前往DragonTracker的方法:
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'password' => ['required', 'string', 'min:3', 'confirmed'],
]);
}
答案 2 :(得分:0)
那里有很多错误,它们可能需要采取一些步骤来解决,但是首先,您首先应该使用不受支持的代码来解决问题。进入项目设置并更改编译器语言版本,因为它指出了第5个错误。这样应该可以使用较新的功能。