Unity3D 通過JSON查詢天氣

2022-04-08 21:57:34 字數 1437 閱讀 4693

獲取天氣資訊,首先要找到提供天氣資料的介面,我使用的是高德地圖免費為我們提供的,**為 

使用的前提是註冊乙個高德賬號用來獲取返回引數中所需要的key,步驟很簡單,按照**中的提示來就可以了。

獲取網路資料,需要用到unitywebrequest類,通過它的get方法可以得到**中的資訊,返回的是含有uri中資料的unitywebrequest物件。

unitywebrequest re = unitywebrequest.get(string uri);

string jsondata = re.downloadhandler.text;  //

text返回的是通過utf-8編碼的字串

好了,現在我們已經擁有json型別的天氣資料了

序列化是將物件轉化為位元組序列的過程。在unity中可以使用其自帶的類進行序列化和反序列化  -> jsonutility,下面是它包含的方法

我們只需要使用它的formjson方法來建立物件,官方給出的案例是

using

unityengine;

[system.serializable]

public

class

playerinfo

//given json input:

//

//this example will return a playerinfo object with

//name == "dr charles", lives == 3, and health == 0.8f.

}

在內部,此方法使用 unity 序列化器;因此建立的型別必須受序列化器支援,它必須是使用 serializable 屬性標記的普通類/結構,並且為public型別,天氣資料也可以用類似方法進行讀取

//

定義結構體儲存json返回的天氣資訊

[serializable]

public

struct

mainjson

[serializable]

public

struct

liveinfo

mainjson j = jsonutility.fromjson(re.downloadhandler.text);

if (j.status == "0"

)

else

這是我寫的乙個小demo(不是完整**)。

值得注意的是,結構體中定義的變數名要和json中的資料一致,名稱一致,不需要的資料可以不定義。 下面是效果圖

unity3D 查詢基礎

1.查詢全部語句 select from score 2.查詢部分資料 select id,name from users where name 張三 select id,name from users where name 張三 3.去掉重複字段查詢記錄 select distinct name ...

Unity3D開發(九) Unity3d流光效果

遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...

Unity3d時鐘指令碼

var tu1 texture2d var time1 float 0 function fixedupdate function ongui function gettime time float string var lasttime string var hour mathf.floortoi...