Unity3D 调用GPS位置服务实现代码

来源:互联网 发布:友情岁月演唱会知乎 编辑:程序博客网 时间:2024/04/28 17:10


 using UnityEngine;
using System.Collections;
 
public class GetGPS : MonoBehaviour {
 
public string gps_info = "";
public int flash_num = 1;
 
// Use this for initialization
void Start () {
 
}
 
void OnGUI () {
GUI.skin.label.fontSize = 28;
GUI.Label(new Rect(20,20,600,48),this.gps_info); 
GUI.Label(new Rect(20,50,600,48),this.flash_num.ToString()); 
 
GUI.skin.button.fontSize = 50;
if (GUI.Button(new Rect(Screen.width/2-110,200,220,85),"GPS定位"))
{
// 这里需要启动一个协同程序
StartCoroutine(StartGPS());
}
if (GUI.Button(new Rect(Screen.width/2-110,400,220,85),"刷新GPS"))
{
this.gps_info = "N:" + Input.location.lastData.latitude + " E:"+Input.location.lastData.longitude;
this.gps_info = this.gps_info + " Time:" + Input.location.lastData.timestamp;
this.flash_num += 1; 
}
}
 
// Input.location = LocationService
// LocationService.lastData = LocationInfo 
 
void StopGPS () {
Input.location.Stop();
}
 
IEnumerator StartGPS () {
// Input.location 用于访问设备的位置属性(手持设备), 静态的LocationService位置
// LocationService.isEnabledByUser 用户设置里的定位服务是否启用
if (!Input.location.isEnabledByUser) {
this.gps_info = "isEnabledByUser value is:"+Input.location.isEnabledByUser.ToString()+" Please turn on the GPS"; 
return false;
}
 
// LocationService.Start() 启动位置服务的更新,最后一个位置坐标会被使用
Input.location.Start(10.0f, 10.0f);
 
int maxWait = 20;
while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0) {
// 暂停协同程序的执行(1秒)
yield return new WaitForSeconds(1);
maxWait--;
}
 
if (maxWait < 1) {
this.gps_info = "Init GPS service time out";
return false;
}
 
if (Input.location.status == LocationServiceStatus.Failed) {
this.gps_info = "Unable to determine device location";
return false;

else {
this.gps_info = "N:" + Input.location.lastData.latitude + " E:"+Input.location.lastData.longitude;
this.gps_info = this.gps_info + " Time:" + Input.location.lastData.timestamp;
yield return new WaitForSeconds(100);
}
}
}

Unity3D 钢琴块游戏解析

钢琴块游戏非常的简单,主要是4X4的一个方陈,块从上向下移动,每行四个块有3个白块一个黑块,
操作者点击黑块变为白色,如果有未点击的黑块到达底部后,游戏结束。
实现方法有很多,今天讲解一种最贴近untiy知识点,又非常简单的方法。
知识点:碰撞,重力,触发器,预设

实现方法:
1.制做一个Cube 做成一个prefab(预设)。注:四个块通用这个
在这个Cube上增加一个脚本,用于记录当前块的颜色状态,及点击事件。
为Cube增加刚体及碰撞器,让物体由上向下自由下落。
2. 制做一个行Prefab ,拖动四个Cube的prefab做为子对象。
为父Prefab增加脚本,生成(1-4)的随机值,用于初始化,四个Cube中哪个为黑色块。
3.在摄影机的最底部加入一下触发器。
同时加入脚本,如果下落的物体中有未点击的黑色,那么游戏结束。如果无黑色块,销除整个父Prefab.
4.在父prefab下落的过程中加入一个触发器。
脚本控制生成新的父Prefab及子物体


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 7岁儿童视力0.6怎么办 三岁宝宝注意力不集中怎么办 四岁宝宝注意力不集中怎么办 一直在想一件事怎么办 买的家具味道大怎么办 买的木床有味道怎么办 宝宝拍胸片衣服有扣子怎么办 前扣内衣扣子坏了怎么办 运动内衣穿上平胸怎么办 文胸的海绵变形了怎么办 文胸背部松紧变形了怎么办 黑色裤子被漂白水漂红了怎么办 黑色裤子晒红了怎么办 黑色裤子泛红了怎么办 黑色裤子洗红了怎么办 新内衣穿了痒怎么办 灰色针织运动裤洗完发黄怎么办 皮衣买大了一号怎么办 紧身衣破了一个洞怎么办 紧身衣破了一个小洞怎么办 内衣肩带不带调整的怎么办 不正确佩戴胸罩导致下垂怎么办 增肌时期晚上饿怎么办 啤酒和可乐喝了怎么办 脸部毛孔堵塞不出汗怎么办 减肥运动完饿了怎么办 想减肥晚上饿了怎么办 孕妇喝不进去水怎么办 跑步喝多了水怎么办 衣柜门轮子坏了怎么办 穿瑜伽裤下边有缝怎么办 3岁宝宝比较内向怎么办 我想和我同学搞基怎么办 自己做的葡萄酒太甜怎么办 吉米学校想退款怎么办 汽车租赁公司不退押金怎么办 身材不好怎么办健身教练形象照 反祈祷式做不到怎么办 窦性心跳过缓怎么办 四维彩超查出胎儿心脏有问题怎么办 减脂肚子饿了怎么办