我试图在Unity中以设定的时间间隔生成一颗星。 但是,我想让这些明星成为父母,不要让我的检查员混乱。
但是当我尝试这样做时,它会给出 " NullReferenceExeption:对象引用未设置为对象的实例。"
我之前在其他地方成功使用过这种类型的代码,但不在更新函数中。
我使用的代码如下。 感谢您的时间和提前帮助。
更新:
我用过
Debug.Log (obj);
Debug.Log (starParent);
检查游戏对象是否存在。 它找到了starParent但不是obj。
所以问题是它为刚刚实例化的GameObject返回Null。这是否与更新功能有关?
public class StarSpawner : MonoBehaviour {
public Star star;
private float spawnRate = 3f;
public static float time = 0;
private GameObject starParent;
void Start() {
if (!GameObject.Find ("StarParent")) {
new GameObject ("StarParent");
}
starParent = GameObject.Find ("StarParent");
SetNextStarTime();
}
void Update () {
if (Time.timeSinceLevelLoad > time) {
Vector3 spawnPosition = new Vector3 (Random.Range (1f, 9f), 7);
GameObject obj = Instantiate (star, spawnPosition, Quaternion.identity) as GameObject;
obj.transform.SetParent (starParent.transform);
SetNextStar ();
}
}
void SetNextStarTime(){
time = Time.timeSinceLevelLoad + spawnRate + Random.Range(0f, 5f);
}
}
答案 0 :(得分:4)
from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy import Integer, String,Date
from sqlalchemy.orm import sessionmaker
engine = sqlalchemy.create_engine(url).connect()
Session = sqlalchemy.orm.sessionmaker(bind=engine)
session = Session()
metadata = sqlalchemy.MetaData(engine)
moz_bookmarks = Table('reports.bigjoin', metadata,
Column('id', String, primary_key=True),
Column('id2', String),
Column('ts_min', Integer),
Column('ts_local', Integer),
Column('10m_cell', Integer),
Column('ds', Date),
Column('ds_log', Date),
Column('ds_local', Date)
)
x = session.query(moz_bookmarks).filter(
(moz_bookmarks.ds >= '2016-01-01', moz_bookmarks.ds <= '2016-01-04')).count()
应该是
public Star star;