【发布时间】: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标签。
-
感谢标签更正。