我遇到的问题是,我无法从另一个脚本访问我自己的脚本,我附加到我的图像对象。
我可以访问创建图像对象时出现的图像(脚本)但是全部。
错误:对象引用未设置为对象的实例。
我的GameManager脚本是试图访问我的自定义图像脚本的脚本,其方法如下:
import requests
from requests.utils import quote
session = requests.Session()
session.cookies.get_dict()
url = 'https://my.url.com'
authentication = {"username":"name","password":"pswd","domain":"domain_id","rURL":"https://another.url.com/something"}
reqs = requests.post(url)
response = session.get(reqs.url)
new_req = requests.post(url, data = authentication)
print new_req.text
我附加到我的图像对象的脚本是:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class scriptGameManager : MonoBehaviour {
public Image img1;
private int gmValue = 0;
void Update () {
gmValue = img1.GetComponent<MyImageScript>().GetValue();
}
}
任何想法我做错了什么?
答案 0 :(得分:1)
我可以访问创建图像时出现的图像(脚本) 对象,但那是
如果我是正确的,您正尝试从MyImageScript
脚本访问scriptGameManager
并且MyImageScript
附加到相同的GameObject img1
(图片)附加to。但是根据你评论中的图片,你没有附加到图像的MyImageScript
脚本。
附加到您的Image的唯一脚本是ScriptCharSpot
脚本。
您必须在编辑器或直通代码中将MyImageScript
附加到您的图片,然后才能使用GetComponent
,否则它将返回null
。同时,您需要缓存MyImageScript
脚本,而不是每帧调用GetComponent
。
public class scriptGameManager : MonoBehaviour {
public Image img1;
MyImageScript imgScript;
private int gmValue = 0;
void Start () {
//Add MyImageScript to img1
img1.gameObject.AddComponent<MyImageScript>();
//Get/Cache MyImageScript that is attached to img1
imgScript = img1.GetComponent<MyImageScript>();
}
void Update () {
gmValue = imgScript.GetValue();
}
}