じ☆ve冰风 发表于 2024-4-19 22:27:23

波浪式图像扭曲


我记得玩过什么赞美诗那个游戏(请原谅我没记住名字),战斗背景是动态扭曲的,当时就感觉高大上!
不过总算是简单的实现了此功能~!欢迎测试。
百度盘下载范例工程
截图什么的真为难我(不会制GIF)。。
https://rpg.blue/data/attachment/album/201407/09/001118j1nc91v3ainvccba.jpg
原图对比
https://rpg.blue/data/attachment/album/201407/08/233721tmq7mmfc5p8e7z58.png#==============================================================================# ■ 简谐波式图像扭曲#==============================================================================class Wave#============================================================================# ■ 参数#============================================================================# b 图像的完整路径及其名称# o 质点的平衡位置及其坐标;用表示。# a 简谐运动的振幅# f 简谐运动的频率#============================================================================def initialize(b, o, a, f)    @bitmap = Bitmap.new(b)    @sprite = []    for i in       @sprite = Sprite.new      @sprite.x = o      @sprite.y = i + o      @sprite.bitmap = @bitmap      @sprite.src_rect.set(0, i, @bitmap.width, 1)      r = (2 * Math::PI * f * i) / 180 / Math::PI      @sprite.x += a * Math.sin(r)    end    @amp = a    @x = {}end#============================================================================# ■ 刷新#============================================================================def update    for i in       @x = @sprite.x    end    for i in       if i + 1 == @sprite.size      @sprite.x = @x      next      end      @sprite.x = @x    endend#============================================================================# ■ 释放#============================================================================def dispose    for i in @sprite      i.bitmap.dispose      i.dispose      i = 0    end    @sprite = []    @bitmap.dispose    @bitmap = nilendendw = Wave.new("Plain.png", , 20, 15)loop doGraphics.updatew.updateend复制代码
            本帖来自P1论坛作者恐惧剑刃,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=367816若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页: [1]
查看完整版本: 波浪式图像扭曲