

unity+高德定位=pokemon go 山寨demo安卓版
source link: https://studygolang.com/articles/8864?fr=sidebar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

unity+高德定位=pokemon go 山寨demo安卓版
wuyt2008 · 2016-10-28 14:00:04 · 7756 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览这两周尝试了下用高德地理定位和Unity来做个山寨的pokemon go的demo,只能在安卓下使用。
游戏过程视频:
http://www.bilibili.com/video/av6836823/
apk下载:
http://download.csdn.net/detail/wuyt2008/9665294
源码下载:
http://download.csdn.net/detail/wuyt2008/9665311
http://download.csdn.net/detail/wuyt2008/9665336
这里是获取当前位置和设置宠物位置的页面。
这里用了自己做的高德地理定位,
这里设置为单次定位。可以设置宠物距离当前位置多远以及感应半径。
感应半径建议不小于40米。
设置的信息保持在PokemonInfo里。
场景二(真实地图)
由于高德安卓sdk地图显示我没办法调取,于是用了高德的web api实现。
这是个偷懒的解决办法,如果走远了,就会没地图了。
点击开始以后,会访问高德web api获取一张以当前位置为中心的地图的静态图片
这个图片有700k左右,网络不好会断,所以加了刷新地图的按钮。
在网上找了段计算两经纬度直接距离的函数,以此,计算出宠物和当前位置的差值并显示。有误差,但还能接受。
计算函数来源
http://www.cnblogs.com/chenkh/p/5661097.html
地图显示两种方式,一种的北上南下的方式。
一种是当手机水平的时候,地图的北基本会指向现实的北方,会有一定的抖动和偏移。这个功能是用GyroDroid插件做的。
当手机当前位置距离宠物在感应距离以内,会有按钮出现并有声音提示。
这个功能本来是打算用高德的地理围栏来实现,这样运算量在高德服务器那,当有多个的时候比较容易实现。
但是,没本事,只好自己计算。(高手一定要教我怎么在unity里调用安卓的通知啥的啊,跪求)
这里定位时间设置的是5秒。
这里用了vuforia的插件来显示摄像头内容。虽然自己能写,但是效果不好。总之随便拿个AR SDK里的摄像头来用就好。
宠物的位置是以进入场景时候,手机当前位置和宠物位置来设置的。
为了实现手机转动看到不同方向,又用到了GyroDroid插件。
模型是unity商城里的,小球的轨迹用itween插件实现。点击以后会砸倒宠物。
public void ThrowBall(){ GameObject ball = Instantiate (ballPerfab); ball.transform.position = new Vector3 (2, -2f, 0); iTween.MoveTo (ball, iTween.Hash ( "position",new Vector3(pokemon.transform.position.x,pokemon.position.y+1f,pokemon.transform.position.z), "time",1f, "easetype",iTween.EaseType.linear )); iTween.MoveTo (ball.transform.FindChild ("Sphere").gameObject, iTween.Hash ( "y",2, "time",0.53f, "islocal",true, "easetype",iTween.EaseType.easeInOutSine, "looptype",iTween.LoopType.pingPong )); }
有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK