shenhuan111
2014-12-12 14:52
采纳率: 64.3%
浏览 6.1k

C#在脚步中创建别的脚步类对象cs cs1=new cs();会有警告,如何消除

You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
MonoBehaviour:.ctor()
cs:.ctor()
什么情况
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all这个出现好几次

using UnityEngine;
using System.Collections;
public class csmouspo : MonoBehaviour {
cs cs1=new cs();
void Start(){
int i=this.cs1.cshs();
print ("r:"+i+"\n");
}

using UnityEngine;
using System.Collections;
public class cs : MonoBehaviour {
public int cshs() {
return 1; }
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • blownewbee 2014-12-12 15:41
    已采纳

    这个不是C#的错误,只能翻译下:
    你正在试图用new关键字创建一个MonoBehaviour,这是不允许的。MonoBehaviours只能通过AddComponent()被添加,或者,你的脚本可以从ScriptableObject继承或者根本没有基类。

    点赞 打赏 评论
  • 微wx笑 2014-12-13 11:04

    cs cs1=new cs(); 改成cs cs1=cs.AddComponent();

    点赞 打赏 评论
  • 微wx笑 2014-12-14 02:09

    改成cs cs1=MonoBehaviour.AddComponent();呢,只是根据错误提示来说应该是这样解决。

    点赞 打赏 评论
  • SoulRed 2016-04-26 11:35

    cs cs1=this

    点赞 打赏 评论
  • 愛し、やっと勝つ 2016-04-27 03:35

    cs 的类完全没必要继承Mono的,继承没必要多用,能不能则不添加,这样才是高效的代码,(~ o ~)Y

    点赞 打赏 评论

相关推荐 更多相似问题