游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2740|回复: 4

有关斜角地图中的遮挡问题

[复制链接]

5

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2005-8-17 21:45:00 | 显示全部楼层 |阅读模式
各位前辈们好 ~
不才在这里有一个小小的问题
如果撇开复杂的 DirectX 组件的话
我想在斜角地图中实现遮挡应该有哪几种演算法可以选择呢 ?

环境是简单的 VC++.NET (Excluding DirectX)

资源上提到了画家演算法 由于自己的水平不高 在网路上只能搜索到片断的知识
请问一下
所谓在斜角地图中的画家演算法是否纯粹的是
for map_x{
{
    for map_y{
     DrawSprite();
     }
}

用回圈达成的远近画法 ?
由于在网上找不到相关的实作 所以只能有猜测
请问是不是有优化的版本
总觉得全部重画实在太晕了点 ><

请问如果真是这样的画 我有很多个由 Sprite Linked Nodes.
我排序输出的时候是应该以X还是以y 座标排序呢 ?

还有最后一个小小的困惑
深度一词真真的解释为何
是否是立体物件独有的特点
因为我有留意到另一个实现的可能
Direct's X Z Buffer 深度的搜寻

谢谢各位的费神
祝 安康

5

主题

41

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2005-8-18 11:37:00 | 显示全部楼层

Re:有关斜角地图中的遮挡问题

只画在屏幕内的啊,屏幕之外的当然不需要去画它的啊!

5

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
 楼主| 发表于 2005-8-18 11:53:00 | 显示全部楼层

Re:有关斜角地图中的遮挡问题

不好意思 zjdyhyb前辈
请原谅我的水平 ><
屏幕内的是否只的是在逻辑地图内的精灵呢 ?
如果要做遮挡排序的话 应以纵Y-Axis还是横X-Axis向的标准去先行排定呢 ?
谢谢不吝解答 ^^

5

主题

41

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2005-8-18 12:13:00 | 显示全部楼层

Re:有关斜角地图中的遮挡问题

假设屏幕左上角坐标(x0,y0),屏幕宽度W,高度H,绘制应该这样(这里都是格子的坐标):
for(int y = y0;y < y0 + H; y++)
for(int x = x0;x < x0 + W; x++)
        DrawSprite(x,y);

36

主题

382

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
发表于 2005-8-21 20:44:00 | 显示全部楼层

Re:有关斜角地图中的遮挡问题

人家问得不是这个意思,人家问的是怎么做遮挡。
可以参考,星际争霸,英雄无敌,和帝国时代2的遮挡做法。
斜地图要多画一屏,这个只好自己算一下是不是要画。
想精确点就太麻烦了。算法的逻辑还是越简单越好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 11:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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