我正在研究一款基于位置的游戏,该游戏在地图上显示每个玩家的位置。
因此,每个客户端都将lat,lon和他的播放器名称上传到MySQL数据库。 检索查询并将值拆分为数组后,每个玩家的标记成功加载到正确的位置,但其玩家名称切换到下一个标记。
public void CreatePlayerAvatars()
{
GameObject[] allObjects = GameObject.FindGameObjectsWithTag("PlayerMarker");
foreach(GameObject obj in allObjects) {
Destroy(obj);
}
float worldScale = FindObjectOfType<AbstractMap>().WorldRelativeScale;
Vector2d mapCenter = FindObjectOfType<AbstractMap>().CenterMercator;
if (PlayerGeoLocation != null && PlayerGeoLocation.text.Length > 0 )
{
// data from db
string data = playerDataString.Replace(",",".");
string[] datasets = data.Split('¡');
try
{
foreach(string item in datasets)
{
string[] Itemdata = item.Split('œ');
string id = Itemdata[0];
print(id);
string name = Itemdata[1];
print("name "+name);
string Lat = Itemdata[2];
print("lat: "+Lat);
string Lon = Itemdata[3];
print("Lon: " + Lon);
PlayerLat = Convert.ToDouble(Lat, System.Globalization.CultureInfo.InvariantCulture);
PlayerLon = Convert.ToDouble(Lon, System.Globalization.CultureInfo.InvariantCulture);
Vector3 InstancePosition = Conversions.GeoToWorldPosition(PlayerLat, PlayerLon, mapCenter, worldScale).ToVector3xz(); // This needs a reference point!
Instantiate(PlayerMarker, InstancePosition, Quaternion.identity );
PlayerLable = PlayerMarkerCanvas.GetComponent<Text>();
PlayerLable.text = name;}} catch()}}
没有错误消息,只是switcheroo。
如果有人有暗示,将不胜感激。 谢谢你的时间
答案 0 :(得分:0)
愚蠢的我。我在实例化后添加了标签文本。