Project1

标题: 才发现三角函数是一大利器 [打印本页]

作者: 沙漠点灰    时间: 2013-1-22 10:48
标题: 才发现三角函数是一大利器
本帖最后由 沙漠点灰 于 2013-1-22 10:52 编辑

以前控制精灵不透明度用变量控制(控制不透明度渐变方向),例如我的标题只有"New Game","Continue"两个精灵,一个选择框,代码可写为下:

RUBY 代码复制
  1. # 更新精灵坐标
  2.     if @old_index != @command_window.index
  3.       @sprite_chooser.y = @command_window.index == 0 ? 308 : 353
  4.       @old_index = @command_window.index
  5.       @sprite_count = SpriteCount
  6.     end
  7.     # 渐变精灵
  8.     if @sprite_count > 0
  9.       @sprite_new_game.opacity = Math.sin((@sprite_count.to_f/SpriteCount+[1,0][@command_window.index])*Math::PI/2)*255
  10.       @sprite_continue.opacity = Math.sin((@sprite_count.to_f/SpriteCount+[0,1][@command_window.index])*Math::PI/2)*255
  11.       @sprite_count -= 1
  12.     end


简化了代码而已....
作者: 弗雷德    时间: 2013-1-22 13:00
读书好多年前的事了,工作也跟几何搭不上关系,早忘了……
曾经还想拿回以前的书本复习积分呢……
作者: 沙漠点灰    时间: 2013-1-22 13:34
不光用在不透明度...窗口的移动也非常"漂亮"
  1.     MoveCount.times{|i|var_tmp = i+1.0
  2.       @command_window.x = Math.sin(var_tmp/MoveCount*Math::PI/2)*(@command_window.width+CMDWndX)-@command_window.width
  3.       @command_window.update
  4.       Graphics.update
  5.     }
复制代码
这样,命令窗口就出来了..让它回去仅仅将sin改为cos即可..而且还有伪"缓动"效果...
作者: pigsss    时间: 2013-1-22 18:21
0.0 三角函数图像说明了一切……
作者: DENGTD24    时间: 2013-3-16 10:17
楼主头像和我qq一样{:2_280:}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1