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

欢迎来到unity学习unity培训、unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

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及子物体

更多精彩请点击 http://www.gopedu.com/

时间: 2024-08-24 15:13:53

Unity3D 调用GPS位置服务实现代码的相关文章

基于java开发的开源代码GPS北斗位置服务监控平台

最近在研究位置服务平台,基于全球卫星定位技术(GNSS).互联网技术.空间地理信息技术(GIS).3G/4G无线通信技术,面向全国公众用户建立大容量.实时.稳定的位置信息服务运营平台.实现管理目标的实时位置跟踪,历史轨迹查询,超速.越区.防盗抢等报警, 远程控制.油量监控,数据统计分析与报表等功能.平台采用B/S.C/S混合结构设计:支持大容量并发定位数据:多源数据综合处理能力:面向用户的管理规则自定义:移动终端查询(微信.安卓.IOS).  ?提供软件各种功能定制, 不同公司GPS.北斗终端协

线程运行栈StackTrace用法,代码调用树查看,出错代码位置信息提示,代码所在类名包名文件名查看

1.代码调用树查看 2.出错代码位置信息提示 功能函数: /** 在LogCat中输出提示信息info,并给出输出该信息在代码中的完整调用树 */ public static void MessageWithSrcTree(String info) { StackTraceElement[] elem = Thread.currentThread().getStackTrace(); //从当前位置,获取代码调用堆栈 for(StackTraceElement e : elem) { Strin

Android 位置服务

原文来自:http://developer.android.com/guide/topics/location/strategies.html 位置策略 注意: 本指南仅限android.location位置API.Google Play Services中的google位置API提供更强大更高级的框架,自动处理位置provider.用户移动和位置安全.它也依据电池消耗情况调整位置更新策略.在大多数情况下,使用Location Services API,你将获得更好的电池性能,更合适的精度. 更

Android位置服务介绍,并介绍如何通过LocationManager对象获取位置信息

 1.位置服务,英文翻译为Location-Based Services,简称LBS,又称为定位服务或基于位置的服务,融合了GPS定位.移动通信.导航等多种技术,提供与空间位置相关的综合应用服务,基于位置的服务发展很迅速,涉及商务.医疗.工作和生活的各个方面,为用户提供定位.追踪和敏感区域警告等一系列服务.比如谷歌地图,百度地图,都需要通过位置服务. 2.Android平台下支持提供位置服务的API,在开发过程中主要用到LocationManager和LocationProviders对象:

python获取原图GPS位置信息,轻松得到你的活动轨迹

一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,如拍摄时间.图像分辨率.感光值.GPS坐标等. Exif最初由日本电子工业发展协会在1996年制定,版本为1.0.1998年,升级到2.1,增加了对音频文件的支持.2002年3月,发表了2.2版. Exif可以附加于JPEG.TIFF.RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件

Mosquitto pub/sub服务实现代码浅析-主体框架

Mosquitto 是一个IBM 开源pub/sub订阅发布协议 MQTT 的一个单机版实现(目前也只有单机版),MQTT主打轻便,比较适用于移动设备等上面,花费流量少,解析代价低.相对于XMPP等来说,简单许多. MQTT采用二进制协议,而不是XMPP的XML协议,所以一般消息甚至只需要花费2个字节的大小就可以交换信息了,对于移动开发比较有优势. IBM虽然开源了其MQTT消息协议,但是却没有开源其RSMB服务端程序,不过还好目前有比较稳定的实现可用,本文的Mosquitto是其中比较活跃的实

【Android】第18章 位置服务和手机定位&mdash;本章示例主界面

分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了GPS定位.移动通信.导航等多种技术,从而获取用户终端设备的位置信息,为移动用户提供了与空间位置相关的综合应用服务. 这一章我们主要以安卓内置的定位服务和百度定位服务为例,演示定位服务(Location Service)的基本用法. 二.本章示例主界面 1.运行截图 2.MainActivity.cs

Unity3D调用第三方SDK(之一)从eclipse到Unity3D 友盟

原地址:http://www.360doc.com/content/14/0120/14/11670799_346638215.shtml 篇展示在Unity3D中调用友盟SDK的实现方法. 首先附上项目源代码地址:https://github.com/hiramtan/unity3d_test_umeng SDK下载及使用方法说明见官方开发文档:http://dev.umeng.com/doc/document_ana_android.html 打开eclipse新建一个android工程:

Android笔记三十二.Android位置服务及核心API

一.位置服务概念 1.位置服务 位置服务(Location-Based Services,LBS),又称定位服务或基于位置的服务,融合了GPS定位.移动通信.导航等多种技术,提供了与个空间位置相关的综合应用服务. 2.GPS与网络位置提供器 Android平台支持提供位置服务的API,可以利用GPS(Global Positioning System,全球定位系统)和Network Location Provider(网络位置提供器)来获得用户的位置. (1)GPS相对来说更精确,但它只能在户外