游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5628|回复: 9

建立斜45度地图格子数组时以哪个格子为坐标原点?

[复制链接]

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2010-12-16 10:51:00 | 显示全部楼层 |阅读模式
我的大地图是个2400*1536的一个大矩形,我的菱形是宽24高16,如图:黑色阴影框是我的整个大地图背景,黄【色框是屏幕,当然实际格子要小的多



现在问题是我建立格子数组时按那个格子为原点?
1:以A点为原点,右下为X轴,左下为Y轴,这是最简单的情况,如此建立格子数组寻路方便,但会浪费很多格子空间(黑框外的格子);
2:以B或C为原点,这样会节省格子空间,但XY轴如何建立?如何寻路?

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2010-12-16 10:53:00 | 显示全部楼层

Re: 建立斜45度地图格子数组时以哪个格子为坐标原点?

补图。。。 [em22]

34

主题

844

帖子

1755

积分

金牌会员

Rank: 6Rank: 6

积分
1755
发表于 2010-12-16 11:18:00 | 显示全部楼层

Re: 建立斜45度地图格子数组时以哪个格子为坐标原点?

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2010-12-16 11:53:00 | 显示全部楼层

Re: Re: 建立斜45度地图格子数组时以哪个格子为坐标原点?

snghun: Re: 建立斜45度地图格子数组时以哪个格子为坐标原点?



这样做的话,(0,0),(0,1),(1,0)都会浪费啊,我的格子比这个图上小的多,因此会浪费很多数组空间的

14

主题

61

帖子

65

积分

注册会员

Rank: 2

积分
65
 楼主| 发表于 2010-12-16 13:11:00 | 显示全部楼层

Re: 建立斜45度地图格子数组时以哪个格子为坐标原点?


34

主题

844

帖子

1755

积分

金牌会员

Rank: 6Rank: 6

积分
1755
发表于 2010-12-16 13:27:00 | 显示全部楼层

Re:建立斜45度地图格子数组时以哪个格子为坐标原点?

那就别用斜45度方式了。
直接用90度方式把。

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2010-12-16 19:02:00 | 显示全部楼层

Re:建立斜45度地图格子数组时以哪个格子为坐标原点?

其实,逻辑和场景应该分开。寻路是逻辑的事情。45度斜角属于场景。场景只是个界面,随便怎么画都成。

11

主题

190

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
发表于 2010-12-20 20:57:00 | 显示全部楼层

Re:建立斜45度地图格子数组时以哪个格子为坐标原点?

可以在数组中只保存指针,屏幕外的格子是空指针,这样浪费不了多少空间,也可以不用线性数组来保存数据,用hash的方法寻址,也就是说,方格[i,j]应该是data[hash(i,j)],如果算法设计的巧妙的话,空间和时间都不会浪费多少


-----------------
欢迎光临我的博客 http://www.thecodeway.com

100

主题

224

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
发表于 2010-12-22 10:32:00 | 显示全部楼层

Re: 建立斜45度地图格子数组时以哪个格子为坐标原点?

古老的技术了,现在用得越来越少了,给你上个图吧

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2011-1-2 12:32:00 | 显示全部楼层

Re:建立斜45度地图格子数组时以哪个格子为坐标原点?

回LS的,我以前发过这个 [url]http://bbs.gameres.com/showthread.asp?threadid=93155[url]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-3 05:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表