iBook G4 + OS X 10.5.8 でも色指定が正常に反映されず。
Star Ruby 色表示の件、http://bit.ly/dk6397 の手順でのインストールを以下環境で試してみた。
結果、Color.new(0,0,0,255)が黒ではなく青で描画される現象はみな同じでした。
マシン | CPU | OS |
---|---|---|
Mac Pro(Early 2008) | Xeon 64bit | OSX 10.6(64bit) |
MacBook(2006) | Core Duo 32bit | OSX 10.6(32bit) |
iBook G4 | PowerPC G4 | OSX 10.5.8 |
ということでアーキテクチャは関係ない模様。
なんだろう。わたしのビルド方法が間違っているのかも。
追記1
iBook G4では、Ruby/SDLでも色合いがおかしくなりました。
via. http://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDL
require "sdl" SCREEN_W = 640 SCREEN_H = 480 HOLIZON = 400 #地平線の高さ (一番上が 0、一番下が 399) SDL.init(SDL::INIT_EVERYTHING) screen = SDL.set_video_mode(SCREEN_W, SCREEN_H, 16, SDL::SWSURFACE) # 塗りつぶし screen.fill_rect(0, 0, SCREEN_W, HOLIZON, [128, 255, 255]) screen.fill_rect(0, HOLIZON, SCREEN_W, SCREEN_H-HOLIZON, [0, 128, 0]) screen.update_rect(0, 0, 0, 0) sleep(2)
結果
(上が水色、下が緑のはずだが、エンディアンのせい?)
追記2
エンディアン対応版をチェックアウトしてビルド・実行してみましたが、結果は同じでした。
色の確認は以下で行っています。
検証用コード1
require 'starruby' include StarRuby c1 = Color.new(0,0,0,255) c2 = Color.new(255,0,0,255) c3 = Color.new(0,255,0,255) c4 = Color.new(0,0,255,255) Game.run(100, 100, :cursor => true) do |game| game.screen.clear game.screen.fill_rect(50, 0, 50, 50, c1) game.screen.fill_rect(0, 0, 50, 50, c2) game.screen.fill_rect(0, 50, 50, 50, c3) game.screen.fill_rect(50, 50, 50, 50, c4) end
検証用コード2
require 'starruby' include StarRuby Game.run(256*3, 120, :cursor => true) do |game| game.screen.clear 256.times do |lv| game.screen.fill_rect(lv*3, 0, 3, 30, Color.new(lv, 0, 0, 255)) game.screen.fill_rect(lv*3, 30, 3, 30, Color.new(0, lv, 0, 255)) game.screen.fill_rect(lv*3, 60, 3, 30, Color.new(0, 0, lv, 255)) game.screen.fill_rect(lv*3, 90, 3, 30, Color.new(255, 255, 255, lv)) end end
via. http://roukou.blog5.fc2.com/blog-entry-287.html
上の記事によるとSDLの仕様変更?みたいなことも書かれておりますが、わたしは未確認。
なんとなくビルドオプションの気もする・・・
明日からちょっと落ち着いて調べてみます。