使用或转载请注明出自宝可饭堂社区https://bbs.pokefans.xyz/threads/88/
毫无疑问这是一个需要网络连接的功能,所以模拟器是不支持的,不过你可以处理成未联网时不显示。
注意:天气API使用的是心知天气,仅支持国内城市。
首先在main上方插入一个地方写下以下代码:
再在其他地方先调用getWeather这个函数,再使用$weather的值,具体用法不限制,以下是一个示例,在BW暂停菜单上显示。
毫无疑问这是一个需要网络连接的功能,所以模拟器是不支持的,不过你可以处理成未联网时不显示。
注意:天气API使用的是心知天气,仅支持国内城市。
首先在main上方插入一个地方写下以下代码:
Ruby:
$last_req_time = 0
$weather = ""
def getWeather
#请求的服务器接口
url = "http://0vej.esplus.club/update/weather.php"
#限制请求频率为1分钟,防止服务器拒绝频繁请求
if Time.now.to_i - $last_req_time > 60
$last_req_time = Time.now.to_i
#将服务器返回的字符串下载到本地
weathers = pbDownloadToString(url)
if weathers == "" || weathers == "error" #失败
echoln "failed to get weather"
else #成功
#将字符串转换成数组
weathers = weathers.split(",")
$weather = "天气:" + weathers[1] + " 气温:" + weathers[2] + "℃"
end
end
end
#weathers[0] 基于ip的市级地址,可能不准确,所以不建议显示