【问题标题】:Unity 2D c# scripting, Spawnobject at mouseposition when downUnity 2D c#脚本,向下时鼠标位置的Spawnobject
【发布时间】:2015-04-08 04:58:06
【问题描述】:

我对 C# 相当陌生(基本上是第一次使用,必须为这个项目编写脚本),我正在尝试在我的游戏中传送(从屏幕外到打开)一个对象(我正在使用立方体一个简单的对象,我将在其中使用 inkscape 在其工作时创建一个“更好”的对象)稍后将添加 cube2,专注于使其正常工作。

目的是将对象传送到我的“Bumber”预制件(地板)的位置,基于玩家单击“Bumber”上的位置并生成鼠标位置在该“Bumber”上的位置,如果不是在'Bumber'上根本不生成(还没有去bumber检查),这将触发一个事件,导致玩家输。

我之前玩游戏的时候,当我点击时,立方体只会消失,然后向我抛出错误,而不是在光标位置产生

我有我的“立方体”预制件(从层次结构拖到资源文件夹中,其中包含生成脚本组件)。当我回到统一状态时,我得到了错误:

(32, 37) 名称 'cube' 在当前上下文中不存在

(32,25) `UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)' 的最佳重载方法匹配有一些无效参数

(32, 25) 参数#1' cannot convertobject' 表达式输入`UnityEngine.Object'

我已经尝试了几个小时来修复这个脚本,查看统一数据库但无济于事。

using UnityEngine;
using System.Collections;


public class Spawn : MonoBehaviour {

public int trapCount;

void Start ()
{
    trapCount = 0;
    GameObject cube =(GameObject)Instantiate((GameObject)Resources.Load("cube"));
}


void Update ()
{
    if (Input.GetMouseButtonDown (0)) 
    {

        Spawner ();
        trapCount++;
    }
}

void Spawner()
{
    Vector3 mousePosition = Input.mousePosition;
    transform.position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    if(trapCount == 0)
    {
        Instantiate(cube, transform.position, Quaternion.identity);     //getting error here, I don't care about rotation value, don't want to rotate at all, but doesn't like it, if it doesn't have anything there.
    }

    else if (trapCount >= 1)
    {
        Debug.Log("Trap limit reached!");
    }
}

}

C#,如果可以的话,请解释一下你在做什么,谢谢!

【问题讨论】:

  • 请使用unity3d标签。
  • 感谢标签更正。

标签: c# unity3d


【解决方案1】:

始终(嗯,几乎始终)相信错误消息告诉您的内容。

(32, 37) 名称 'cube' 在当前上下文中不存在

你得到这个是为了这条线

Instantiate(cube, transform.position, Quaternion.identity);

此时,方法范围内的任何地方都没有cube。你有你的

GameObject cube =(GameObject)Instantiate((GameObject)Resources.Load("cube")); 

在您的 Start() 方法中,但它只存在于该方法中。例如,它不是该类的成员。使其成为会员将解决该问题。

这很可能也是导致后续错误的原因。如果它不知道多维数据集是什么,它就不知道如何处理它作为Instantiate() 的参数。

如果您对 C# 完全陌生,那么您可以为自己做的最大的事情就是拿起一本好书。 Unity 将允许您通过破解它来取得相当大的进展,但在某一点上,学习这门语言是无可替代的。它将极大地帮助您。

祝你好运。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多