SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4342|回复: 0
打印 上一主题 下一主题

[terrain] 地形

[复制链接]

21

主题

36

帖子

334

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
334
跳转到指定楼层
楼主
发表于 2020-8-24 16:35:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
地形代码表


时段如何在地形上体现出来
在不同时段,同一地形会显示不同图像。但这图像根只是同一个,只是把RGB换成不同值而已。
1、play_controller::init_gui()时,调用set_color_adjustment(tod.red, tod.green, tod.bule),接下显示的图像该时段下图像。
2、开始新回合,game_display::new_turn()中,调用image::set_color_adjustment(tod.red,tod.green,tod.blue),使接下显示的图像是该时段下图像。
3、让看看set_color_adjustment干了些什么。
red_ajust = r;
green_adjust = g;
blue_adjust = b;
red_ajust、green_adjust、blue_ajdust是三个全局变量,得到TOD_COLORED图像时要用它们来改变图面中RGB分量值得到新图面。
tod_colored_images_.flush();
brightened_images_.flush();
semi_brightened_images_.flush()
reversed_images_.flush()
清除flash缓冲。什么要清除呢?hash_比较不包括RGB分量,也就是说在不同时段它的hash_值一样,但它的surface数值其实是不一样的。为此在新时段时就要无效掉原先的缓存。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2025-5-2 03:33 , Processed in 0.047488 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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