C# 无法隐式转换类型`streamworks.CSteamID';到`浮动';
我目前正在将Steamworks.net与Unity3d和C#一起使用。我想做的是获取Steam用户ID,在本例中是我自己的ID,然后执行一个函数 这就是我到目前为止所做的:C# 无法隐式转换类型`streamworks.CSteamID';到`浮动';,c#,unity3d,steamworks-api,C#,Unity3d,Steamworks Api,我目前正在将Steamworks.net与Unity3d和C#一起使用。我想做的是获取Steam用户ID,在本例中是我自己的ID,然后执行一个函数 这就是我到目前为止所做的: private static float berdyevID = 76561198040013516; private static float steamID; void Start() { if(SteamManager.Initialized) { string name = Stea
private static float berdyevID = 76561198040013516;
private static float steamID;
void Start() {
if(SteamManager.Initialized) {
string name = SteamFriends.GetPersonaName();
// get steam user id
steamID = Steamworks.SteamUser.GetSteamID();
// see if it matches
if (berdyevID == steamID) {
Debug.Log ("Steam ID did match");
} else {
Debug.Log ("Steam ID did not match");
}
}
}
我从Unity得到一个错误,它指出:
无法将类型Steamworks.CSteamID'隐式转换为float'。存在显式转换(是否缺少强制转换?)
这让我很困惑。我试着在谷歌上做研究,想找到一个可能的解决办法,但什么也找不到。有人能帮忙吗
编辑:
我试过了,但没用:
private static ulong berdyevID = 76561198040013516;
private static ulong steamID;
void Start() {
if(SteamManager.Initialized) {
string name = SteamFriends.GetPersonaName();
// get steam user id
steamID = Steamworks.SteamUser.GetSteamID();
// see if it matches
if (berdyevID == steamID) {
Debug.Log ("Steam ID did match");
} else {
Debug.Log ("Steam ID did not match");
}
}
}
您的GetSteamID()
返回类型为Steamworks.CSteamID
的对象,该对象不可分配给类型为float
的变量steamID
在CSteamID
结构中有一个名为m_-SteamID
的ulong
变量。这就是id所在的位置
private static ulong berdyevID = 76561198040013516;
private static ulong steamID;
void Start() {
if(SteamManager.Initialized) {
string name = SteamFriends.GetPersonaName();
// get steam user id
steamID = Steamworks.SteamUser.GetSteamID().m_SteamID;
// see if it matches
if (berdyevID == steamID) {
Debug.Log ("Steam ID did match");
} else {
Debug.Log ("Steam ID did not match");
}
}
}
您的GetSteamID()
返回类型为Steamworks.CSteamID
的对象,该对象不可分配给类型为float
的变量steamID
在CSteamID
结构中有一个名为m_-SteamID
的ulong
变量。这就是id所在的位置
private static ulong berdyevID = 76561198040013516;
private static ulong steamID;
void Start() {
if(SteamManager.Initialized) {
string name = SteamFriends.GetPersonaName();
// get steam user id
steamID = Steamworks.SteamUser.GetSteamID().m_SteamID;
// see if it matches
if (berdyevID == steamID) {
Debug.Log ("Steam ID did match");
} else {
Debug.Log ("Steam ID did not match");
}
}
}
可以那我该怎么办?看看api,看看它是如何从中返回id的class@Programmer这很有趣,因为我已经试过ulong了,但它不起作用。同样的错误,但ulong代替了float,很明显您尝试了ulong。但是您是否尝试获取GetSteamID()
函数的m_-SteamID
部分?@Programmer ThanksOkay。。那我该怎么办?看看api,看看它是如何从中返回id的class@Programmer这很有趣,因为我已经试过ulong了,但它不起作用。同样的错误,但ulong代替了float,很明显您尝试了ulong。但是您是否尝试获取getstreamid()
函数的m_-streamid
部分?@程序员谢谢