赞 | 86 |
VIP | 0 |
好人卡 | 1 |
积分 | 136 |
经验 | 14048 |
最后登录 | 2021-1-24 |
在线时间 | 2753 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 13562
- 在线时间
- 2753 小时
- 注册时间
- 2014-10-4
- 帖子
- 756
|
好了
现在的做法是先根据需要刷新点的亮度信息
在全部刷新完后再渲染
CCBBSS_update_alpha = Win32API.new("c/ccbbss","ccbbss_update_alpha","llll","v") CCBBSS_render1 = Win32API.new("c/ccbbss","ccbbss_render1","l","v") CCBBSS_render2 = Win32API.new("c/ccbbss","ccbbss_render2","lll","v") CCBBSS_update_alpha.call($game_player.screen_x, $game_player.screen_y - 16, 50, 100) CCBBSS_update_alpha.call(200, 200, 50, 100) CCBBSS_update_alpha.call(300, 400, 50, 100) CCBBSS_render2.call(CCBBSS_BITMAP,3,3)
CCBBSS_update_alpha = Win32API.new("c/ccbbss","ccbbss_update_alpha","llll","v")
CCBBSS_render1 = Win32API.new("c/ccbbss","ccbbss_render1","l","v")
CCBBSS_render2 = Win32API.new("c/ccbbss","ccbbss_render2","lll","v")
CCBBSS_update_alpha.call($game_player.screen_x, $game_player.screen_y - 16, 50, 100)
CCBBSS_update_alpha.call(200, 200, 50, 100)
CCBBSS_update_alpha.call(300, 400, 50, 100)
CCBBSS_render2.call(CCBBSS_BITMAP,3,3)
CCBBSS_update_alpha(x, y, r1, r2) 就是更新信息 每次更新一个点
CCBBSS_render1(CCBBSS_BITMAP) 是刷新画面 照常
CCBBSS_render2(CCBBSS_BITMAP, a, b) 是这样操作的 第二个第三个参数是调节圈外亮度的
算式是 *a >> b
3, 3 就是亮度 *3/8
圈子和圈子的交叠的算法是 x+y - xy/k
x 和 y 是两个圈子的亮度 k 是亮度最大值 也就是x y 小的时候加的多 趋近亮度顶了就不加了 凑了半天凑出来的..看了下效果还行
ccbbss.zip
(706.93 KB, 下载次数: 87)
|
评分
-
查看全部评分
|