unity+高德定位=pokemon go 山寨demo安卓版

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








Unity KBEngine开发的MMORPG网络游戏demo是一款基于KBEngine游戏引擎和Unity3D引擎开发的大型多人在线角色扮演游戏。玩家可以通过选择职业、制定策略、组队作战等方式来体验这个游戏。 这个demo可以让玩家参与到一个大型的游戏世界中,探索各种地形,战斗怪物获得经验、金币等奖励,提升自己的等级和装备,以及进行多种类型的任务,和其他玩家进行社交互动,例如加入公会、结交好友等。 这个游戏的开发使用了Unity3D引擎实现了游戏场景的渲染和交互,以及KBEngine游戏引擎实现了网络通信、角色管理、动态创造游戏玩法等功能。这里提一下KBEngine的优点,它是一种快速而灵活的游戏引擎,可以快速搭建游戏服务端,支持多线程、多进程等机制,并提供了许多可定制的接口和扩展功能,满足了网络游戏开发不同的需求。 整个游戏采用了逻辑与客户端分离的方式,实现服务端的多进程负载均衡,提高游戏的性能和稳定性;在客户端方面,通过使用Unity3D引擎可以使游戏画面更加精美、流畅、真实,同时使用了各种技术手段来保障游戏的安全性和稳定性。 总之,Unity KBEngine开发的MMORPG网络游戏demo不仅在视觉效果上给玩家带来了非凡的游戏体验,而且在开发技术上也具有较高的实用、创新和开放性,为游戏开发领域的不断推进带来了非常宝贵的实践经验。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值