设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1826|回复: 3
打印 上一主题 下一主题

[原创发布] 简单的火焰效果

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6483
在线时间
119 小时
注册时间
2020-1-8
帖子
234
跳转到指定楼层
1
发表于 2022-7-29 13:48:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 RPGzh500223 于 2022-7-29 19:13 编辑

使用示例及说明:
RUBY 代码复制
  1. # 函数原型: (返回值为下次调用的offXY)
  2. # int fire(int dst_bmp_obj_id, int msk_bmp_obj_id, int tex_bmp_obj_id,
  3. #          int offXY, int ofx, int ofy)
  4. dll = "fire_effect.dll"
  5. fire = Win32API.new(dll, 'fire', 'LLLLLL', 'L')
  6.  
  7. # 3个位图大小需一致,且宽需为4的倍数,宽与高皆小于4096
  8. dst = Bitmap.new(640, 480)
  9. msk = Bitmap.new("fire_mask3.png")  #含透明通道图片,填充色为黑色(表示显示部分)
  10.  
  11. # 黑白纹理,“左右/上下补齐”(类似RMXP中的panoramas),需平滑一些
  12. tex = Bitmap.new("noise.jpg")      
  13.  
  14.  
  15. vpt = Viewport.new(0, 0, 640, 480)
  16. vpt.color.set(255, 255, 255)
  17.  
  18. sprite = Sprite.new
  19. sprite.bitmap = dst
  20.  
  21. # oxy   记录已偏移信息用 x << 12 | y
  22. # ofx/y 表示X/Y轴偏移方向及速度(1像素/次),ofx/y可以为0
  23. #       方向类似数学直角坐标系,ofx > 0 向右  < 0 向左;ofy > 0 向上  < 0 向下
  24. #       每帧调用,ofx/y的值不用太大
  25. oxy, ofx, ofy = 0, -1, 1
  26.  
  27. loop do
  28.   Graphics.update  
  29.   oxy = fire.call(dst.__id__, msk.__id__, tex.__id__, oxy, ofx, ofy)
  30. end



640*480效率还行,更大的大小不推荐使用。640 * 480 我的电脑 fire 函数 650+ 次/秒。
移动的镜头下效果并不好,作为一些镜头固定的战斗背景或菜单背景还不错。
呈现效果和纹理、遮罩关系比较大,考虑到效率并不支持自定义颜色。

noise.jpg (39.67 KB, 下载次数: 7)

noise.jpg

fire_mask3.png (21 KB, 下载次数: 3)

fire_mask3.png

fire.gif (1015.76 KB, 下载次数: 6)

效果示意

效果示意

fire_effect.zip

3.45 KB, 下载次数: 18

fire_effect.dll

评分

参与人数 2星屑 +50 +2 收起 理由
guoxiaomi + 50 + 1 塞糖
纯属小虫 + 1 塞糖

查看全部评分

Lv5.捕梦者

梦石
24
星屑
7017
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

2
发表于 2022-7-29 15:06:57 | 只看该作者
很好~~~
踩到火之后能让玩家深刻体会到阿尔西斯被烧了

建议:
能不能做个类似【画面闪烁】和【画面震动】版本的
持续X帧,火焰整体透明度随时长变小,最后消失

点评

nice!  发表于 2022-7-30 15:07
你说的属于“应用”,参照Game_Screen/Game_Picture/Sprite_Picture/Spriteset_Map很容易就写出来了…… 其实就是个精灵,透明度Sprite#opacity设置就行了  发表于 2022-7-29 19:03
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-26 17:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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