赞 | 1 |
VIP | 255 |
好人卡 | 52 |
积分 | 1 |
经验 | 77416 |
最后登录 | 2016-1-18 |
在线时间 | 1269 小时 |
Lv1.梦旅人 薄凉看客
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1269 小时
- 注册时间
- 2010-6-20
- 帖子
- 1316
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 恐惧剑刃 于 2014-7-9 09:49 编辑
我记得玩过什么赞美诗那个游戏(请原谅我没记住名字),战斗背景是动态扭曲的,当时就感觉高大上!
不过总算是简单的实现了此功能~!欢迎测试。
百度盘下载范例工程
截图什么的真为难我(不会制GIF)。。
原图对比
- #==============================================================================
- # ■ 简谐波式图像扭曲
- #==============================================================================
- class Wave
- #============================================================================
- # ■ 参数
- #============================================================================
- # b 图像的完整路径及其名称
- # o 质点的平衡位置及其坐标;用[x, y]表示。
- # a 简谐运动的振幅
- # f 简谐运动的频率
- #============================================================================
- def initialize(b, o, a, f)
- @bitmap = Bitmap.new(b)
- @sprite = []
- for i in [email protected]
- @sprite[i] = Sprite.new
- @sprite[i].x = o[0]
- @sprite[i].y = i + o[1]
- @sprite[i].bitmap = @bitmap
- @sprite[i].src_rect.set(0, i, @bitmap.width, 1)
- r = (2 * Math::PI * f * i) / 180 / Math::PI
- @sprite[i].x += a * Math.sin(r)
- end
- @amp = a
- @x = {}
- end
- #============================================================================
- # ■ 刷新
- #============================================================================
- def update
- for i in [email protected]
- @x[i] = @sprite[i].x
- end
- for i in [email protected]
- if i + 1 == @sprite.size
- @sprite[i].x = @x[0]
- next
- end
- @sprite[i].x = @x[i + 1]
- end
- end
- #============================================================================
- # ■ 释放
- #============================================================================
- def dispose
- for i in @sprite
- i.bitmap.dispose
- i.dispose
- i = 0
- end
- @sprite = []
- @bitmap.dispose
- @bitmap = nil
- end
- end
- w = Wave.new("Plain.png", [50, 0], 20, 15)
- loop do
- Graphics.update
- w.update
- end
复制代码 |
评分
-
查看全部评分
|