二维游戏的一些tips

滚动地图的算法实现

	变量设置:
	playerx, playery 为人物相对于完整地图左上角的坐标;
	screen_wide, screen_high 为屏幕的宽和高;
	xtile为屏幕上x轴上可显示的小地图个数;
	ytile为屏幕上y轴上可显示的小地图个数;
	tileplayerx = playerx / tile_wide 为人物所在格x轴下标;
	tileplayery = playery / tile_high 为人物所在格y轴下标;
	
	应该绘制的地图范围是:
	x轴: 由 tileplayerx - xtile/2 至 tileplayerx + xtile/2;
	y轴: 由 tileplayery - ytile/2 至 tileplayery + ytile/2;
	当人物在屏幕正中央时,地图到屏幕的位置变化公式为:
	screenx = xi * tile_wide – playerx + 0.5 * screen_wide
	screeny = yi * tile_high – playery + 0.5 * screen_high

	int beginx = tileplayerx - xtile/2
	int endx = tileplayerx + xtile/2
	int beginy = tileplayery - ytile/2
	int endy = tileplayery + ytile/2
	tileplayerx = playerx / tile_wide
      tileplayery = playery 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值