Unity3D:我的代码错误
Unity3D: Error with my code
我在我的代码上得到了一个错误,并且想知道是否有人可以帮助我,我搜索了这个问题并尝试了解决方案,但似乎没有任何工作。(我尝试/搜索:移动我的c#脚本链接到下面的脚本在标准资产文件夹)谢谢!
这是我得到的错误:
名称'GameManager'不表示有效的类型('not found')
这是代码
编辑
var thisMaterial : Material;
private var gameManager : GameManager;
private var moveDirection : Vector2;
private var movePosition : Vector2;
private var lastDirection : int;
function Start()
{
gameManager = (GameManager)FindObjectOfType(typeof(GameManager));
thisMaterial = new Material(Shader.Find("Unlit/Transparent"));
GetComponent("MeshRenderer").material = thisMaterial;
thisMaterial.mainTexture = gameManager.game.characters[0].spriteSheet;
thisMaterial.mainTextureOffset = gameManager.animationList[0][0];
movePosition = gameManager.game.startPosition;
}
function Update()
{
var vectorMovePosition : Vector3 = Vector3(movePosition.x, movePosition.y, transform.position.z);
var distanceToVector : float = Vector3.Distance(transform.position, vectorMovePosition);
var inputDirection : Vector2 = Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")).normalized;
if(inputDirection != Vector2.zero && distanceToVector < 0.1)
{
if(inputDirection == -Vector2.up) lastDirection = 0;
else if(inputDirection == -Vector2.right) lastDirection = 1;
else if(inputDirection == Vector2.right) lastDirection = 2;
else if(inputDirection == Vector2.up) lastDirection = 3;
else return;
thisMaterial.mainTextureOffset = gameManager.animationList[lastDirection][0];
if(gameManager.game.scenes[gameManager.currentScene].GetTile(3, movePosition + inputDirection) == Vector2(-1, -1))
{
moveDirection = inputDirection;
movePosition = vectorMovePosition + moveDirection;
}
}
if(transform.position != vectorMovePosition)
{
thisMaterial.mainTextureOffset = gameManager.animationList[lastDirection][Mathf.Round(distanceToVector * 3)];
transform.position = Vector3.MoveTowards(transform.position, vectorMovePosition, Time.deltaTime * 3);
}
}
这一行是你的问题。
gameManager = FindObjectOfType(GameManager);
应该是这样的:
gameManager = (GameManager)FindObjectOfType(typeof(GameManager));
选择:
如果该游戏对象与上述脚本所在的对象不同:
gameManager = GameObject.FindWithTag("SomeTag").GetComponent<GameManager>();
如果它是在相同的游戏对象上,这将做:
gameManager = GetComponent<GameManager>();
或者使用检查器为变量赋值
当然,如果所有这些都不起作用,您实际上没有将GameManager
脚本附加到某些东西上。
相关文章:
- 咕噜声.js无法读取文件(错误代码:EISDIR)
- 科尔多瓦指南针 API 给出错误代码 3
- 如何在使用JavascriptCallbackBehavior时引发带有HTTP错误代码的WebFaultExcepti
- 解析错误代码 121
- Ajax get jsonp给出错误代码500“;请求被阻止”;来自MVC应用程序
- ionic http获取到本地文件会给出http错误代码0
- Imacros/jQuery TypeError:无法访问死对象,第 816 行(错误代码:-991)
- 电话差距/网络数据库错误代码说明
- NaN 错误代码有什么问题
- 异常:“远程主机关闭了连接.错误代码为 0x80070057”
- 咕噜声/巴别塔错误:无法写入“dist”文件(错误代码:EISDIR)
- 科尔多瓦的文件传输写入错误(代码 1)
- 角度$asyncValidators将错误代码传输到模板
- 接收错误代码 3,http_status空,正文空,异常状态 2
- 运行 grunt.file.copy 返回错误代码:ENOENT
- Parse.com 找不到错误代码:141 函数
- 尝试运行作业时分析错误代码 1 内部错误
- 节点 js 退出状态 8,错误代码 0 在 Mac 上运行
- 如何使用mootools确定损坏图像上的错误代码
- HTML 错误代码 206