wuyt
新手
新手
  • UID1131
  • 粉丝1
  • 关注0
  • 发帖数2
阅读:2941回复:2

【已开源】unity+高德定位=pokemon go 山寨demo安卓版

楼主#
更多 发布于:2016-11-04 11:29

描述:游戏画面

图片:2016-11-4 11-31-52.jpg

游戏画面



这两周尝试了下用高德地理定位和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  
    ));  
}

欢迎分享

1739516172
精灵王
精灵王
  • UID748
  • 粉丝1
  • 关注3
  • 发帖数82
  • 社区居民
  • 忠实会员
沙发#
发布于:2016-11-05 09:53
奔跑的MT
论坛版主
论坛版主
  • UID1847
  • 粉丝1
  • 关注3
  • 发帖数13
  • 社区居民
  • 忠实会员
板凳#
发布于:2016-11-08 15:27
            厉害
游客

返回顶部