Project1

标题: 256调色板 [打印本页]

作者: yangff    时间: 2008-6-5 02:46
标题: 256调色板
完全无聊产物
使用后颜色返回到$color
  1. class Colorball
  2.   def main
  3.     @red = Sprite.new
  4.     @red.bitmap = Bitmap.new(32,255)
  5.     @red.x = 32
  6.     @green = Sprite.new
  7.     @green.bitmap = Bitmap.new(32,255)
  8.     @green.x = 64
  9.     @blue = Sprite.new
  10.     @blue.bitmap = Bitmap.new(32,255)
  11.     @blue.x = 64+32
  12.     @use = 0
  13.     @r = 1
  14.     @g = 1
  15.     @b = 1
  16.     for i in 0...255
  17.       @red.bitmap.fill_rect(Rect.new(0,i,32,1), Color.new(i+1,0,0))
  18.     end
  19.     for i in 0...255
  20.       @green.bitmap.fill_rect(Rect.new(0,i,32,1), Color.new(0,i+1,0))
  21.     end
  22.     for i in 0...255
  23.       @blue.bitmap.fill_rect(Rect.new(0,i,32,1), Color.new(0,0,i+1))
  24.     end
  25.     @color = Sprite.new
  26.     @color.bitmap = Bitmap.new(32,32)
  27.     @color.x = 32
  28.     @color.y = 300
  29.     @point = Sprite.new
  30.     @point.bitmap = Bitmap.new(16,16)
  31.     @point.bitmap.fill_rect(Rect.new(0,0,32,32), Color.new(255,255,255,100))
  32.     @point.x = 32
  33.     @point.y = 0
  34.     up_color
  35.     # 执行过渡
  36.     Graphics.transition
  37.     # 主循环
  38.     loop do
  39.       # 刷新游戏画面
  40.       Graphics.update
  41.       # 刷新输入信息
  42.       Input.update
  43.       # 刷新画面
  44.       update
  45.       # 如果画面被切换就中断循环
  46.       if $scene != self
  47.         break
  48.       end
  49.     end
  50.     # 装备过渡
  51.     Graphics.freeze
  52.   end
  53.   def update
  54.     if Input.trigger?(Input::C)
  55.       $color = Color.new(@r,@g,@b)
  56.       $scene = Scene_Map.new
  57.     end
  58.     if Input.trigger?(Input::LEFT)
  59.       @use -= 1
  60.       @use = 2 if @use < 0
  61.       @point.x = (@use+1)*32
  62.       @point.y = getactiony
  63.     end
  64.     if Input.trigger?(Input::RIGHT)
  65.       @use += 1
  66.       @use = 0 if @use > 2
  67.       @point.x = (@use+1)*32
  68.       @point.y = getactiony
  69.     end
  70.     if Input.trigger?(Input::UP)
  71.       case @use
  72.       when 0
  73.         @r -= 1
  74.         @r = 1 if @r < 1
  75.       when 1
  76.         @g -= 1
  77.         @g = 1 if @g < 1
  78.       when 2
  79.         @b -= 1
  80.         @b = 1 if @b < 1
  81.       end
  82.       @point.y -=1
  83.       @point.y = 1 if @point.y < 1
  84.       up_color
  85.     end
  86.     if Input.trigger?(Input::DOWN) or Input.press?(Input::DOWN)
  87.       case @use
  88.       when 0
  89.         @r += 1
  90.         @r = 255 if @r > 255
  91.       when 1
  92.         @g += 1
  93.         @g = 255 if @g > 255
  94.       when 2
  95.         @b += 1
  96.         @b = 1 if @b > 1
  97.       end
  98.       @point.y +=1
  99.       @point.y = 255 if @point.y > 255
  100.       up_color
  101.     end   
  102.   end
  103.   def up_color
  104.     @color.bitmap.fill_rect(Rect.new(0,0,32,32), Color.new(@r,@g,@b))
  105.   end
  106.   def getactiony
  107.       case @use
  108.       when 0
  109.         return @r
  110.       when 1
  111.         return @g
  112.       when 2
  113.         return @b
  114.       end
  115.   end
  116. end
复制代码

作者: 禾西    时间: 2008-6-6 21:35
......看到這個腳本,一陣寒意流過身軀
作者: yangff    时间: 2008-6-7 03:46
http://rpg.blue/viewthread.php?tid=88854
好美吗!啊!真的不是好美啊
作者: 雪流星    时间: 2008-6-7 06:00
我是两阵寒意流过
我本来想写一个更多颜色的{/ll}{/fd}
作者: yangff    时间: 2008-6-7 06:09
以下引用snstar2006于2008-6-6 22:00:16的发言:

我是两阵寒意流过
我本来想写一个更多颜色的

256嗷嗷
还可以加透明色,嗷嗷




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