サイログ。

~雑多な記事置き場~

Miyako2.1変更点

まだまとめて切れてないので、もう少しお待ちください・・・。

参考のために、READMEに記載したMiyako2.0.5->2.1.0の変更点を転載しておきます。

<仕様変更>
・"require 'miyako'"でもロード可能
・miyako.rbで組み込んでいるライブラリの順番を変更
・標準のウインドウモードをフルスクリーンモードに変更
・$miyako_auto_openグローバル変数により、強制的な画面のオープンを解除
 必要な部分だけ呼び出し(Miyako.init,Audio.init,Screen.init,Font.init)
 (Miyako.open/Screen.open呼び出し前のSprite作成不可)
・ゲーム中に流せるBGMは1曲のみに制限(効果音はその限りではない)
・音声系クラス(Audio::BGM,Audio::SE)の複写メソッドの使用を禁止
Yukiの複写メソッドの使用を禁止
・複写時は、そのインスタンスのスナップ関係を解消
 (但し、内部的にスナップを行っているクラス(Parts,TextBox,SpriteAnimation)はスナップをやり直している)
・例外クラスの追加(MiyakoErrorのみ→複数クラスの混在)
・Screenモジュールの初期化で、既存のSDL::Screenクラスインスタンスを利用可能(他ライブラリとの親和性向上)
・miyako.rbの組み込みのみ行うmiyako_require_only.rb追加
・Sceneモジュール内部で使用する変数の構成の変更
 (@@scenes,@now,@prev,@next,@upper -> @@scenes, @@pool)
・ArrayクラスにSpriteArrayモジュールをmixin
・FixedMapクラスにSpriteBase,Animationモジュールをmixin
・FixedMapLayerクラスにSpriteBase,Animationモジュールをmixin
・MapクラスにSpriteBase,Animationモジュールをmixin
・MapEventモジュールにSpriteBase,Animationモジュールをmixin
・MapLayerクラスにSpriteBase,Animationモジュールをmixin
・MovieクラスにAnimationモジュールをmixin
・PartsクラスにSpriteBase,Animationモジュールをmixin
・PlaneクラスにSpriteBase,Animationモジュールをmixin
・ViewportクラスにSpriteBase,Animationモジュールをmixin
YukiクラスにSpriteBase,Animationモジュールをmixin
・回数を指定した音声の繰り返し演奏に対応
・Audio::BGM,Audio::SEクラスのインスタンスを複写しようとすると例外発生するように変更
・Audio::BGM.newメソッドの引数インタフェースを変更
・Audio::BGM.newメソッドの処理内容を変更
・Audio::BGM#play,start,fade_inメソッドの引数インタフェースを変更
・Audio::BGM#play,start,fade_inメソッドの返却値を変更
・Audio::BGM#play,start,fade_in,playing?,disposeの処理内容を変更
・Audio::SE.newメソッドの引数インタフェースを変更
・Audio::SE.channels=の返却値を変更
・Audio::SE#disposeの処理内容を変更
・Audio::SE#play,start,fade_inメソッドの返却値を変更
・Miyako.main_loopメソッド内部でAudio.update呼び出しを追加
・Story#runメソッド内部でAudio.update呼び出しを追加
・Choises#update_animationの返却値を変更
・TextBox#update_animationの返却値を変更
Yuki#update_animationの返却値を変更
・Miyako::versionの値を変更("2.0.0" -> "2.1.0")
・Sprite#to_unitの値を複写したものに変更
・SpriteAnimation#to_unitの値を複写したものに変更
・Screen.to_unitの値を複写したものに変更
・Story::Sceneモジュールの内部構成を変更
Yuki表示部の内部処理を変更
Yukiを使用したとき、決定キー・コマンド決定キーにスペースバーを追加
Yukiを使用したとき、コマンドキャンセルきーにエスケープキーを追加
Yukiスクリプトに対して引数を渡すことができるようになった(↓参照)
Yuki#start_plotのインタフェース変更(with_update_inputを廃止、*paramsを追加)
・各クラス・構造体・モジュールのmove,move_to,resize,resize_toメソッドを、
 move!,move_to!,resize!,resize_to!に変更
 (既存のメソッドは、「変更した後の値を新しいインスタンスとして返す(自身は変更しない)」に変更)
・Layoutモジュールの(outside_)left,(outside_)top,(outside_)right,(outside_)bottom,centeringメソッドを、
 (outside_)left!,(outside_)top!,(outside_)right!,(outside_)bottom!,centering!に変更
 (既存のメソッドは、「変更した後の値を新しいインスタンスとして返す(自身は変更しない)」に変更)
・Segment構造体の機能をSegment、Segmentsの2つの構造体に分割(Segmentsの各要素がSegment)
・Segments#reset->reset!に変更
・Viewport#viewportメソッドの返却値を変更
・PartsクラスをSpriteListクラス基準に変更
・Sprite#newでdisplay_format_alphaによる画像の複製を行わず、Bitmap.create、Bitmap.loadで行うようにした
 (Bitmapを渡すことによる画像の共有化が可能に)
・Sprite#newの引数を追加(:fill,:alpha)
・Sprite#newの:typeハッシュ引数の既定値を:color_key(:ck)から:alpha_channel(:ac)に変更
・Miyako.main_loopを再び高速化
・Story#runの内部ループをloop do〜からMiyako.main_loop〜に変更
・Map.new、FixedMap.newのインタフェースを変更(CSVファイル以外からのマップデータ生成を容易に)
・MapEventManager#include?メソッドで、マップに登録されていないときも例外を発せしないように変更
・OverSceneを廃止
・Screen.pre_render_array、Screen.auto_render_arrayを配列からSpriteListに変更
・Fiberを使用しないYuki、InitiatieYukiクラスを追加
・SpriteBase.#render,render_to、Bitmapクラスの各種画像効果メソッドでのブロックの使用を廃止
・MapLayer#collision?,meet?,cover?,can_accessメソッドの引数を追加(ignores引数)
・FixedMapLayer#collision?,meet?,cover?,can_accessメソッドの引数を追加(ignores引数)
・MapEvent#.move!,move_to!,move,move_toの後ろに可変引数を追加(移動時の細かい設定)
・Map.new、FixedMap.newで、イベントが無いときでも0番レイヤーを生成するように変更
・マウス、キーボード、ゲームパッドの利用選択が可能に(enable、disableの設定が可能に)
・FontクラスにSpriteBase、Animastion、Layoutモジュールをmixin、スプライトとして扱うことが可能に
・WaitCounter#remind(->remainにalias)の返却値の仕様を変更(未スタート:制限時間->制限時間+1、制限時間オーバー:0->-1)
・WaitCounter.updateを追加。簡易的なコールバック処理が可能に
・選択肢の状態に「選択不可時」を追加(Choice構造体にenable, body_disableを追加)
・Choice構造体をスプライト扱いに変更(SpriteBase,Animation,Layoutをmixin)
・Choice構造体に名前を付けられるようになった。Choices#メソッドでも参照可
・Choicesクラスにレイアウト空間(LayoutSpace)を登録できるハッシュを追加した
・Choices.newメソッドの引数インタフェースを変更(ただし、既存の処理に影響しない)
・Miyako.main_loopの引数インタフェース変更(ただし、既存の処理に影響しない)
・Windows版1.9でのrcairoが簡単に使えるようになるまで、MiyakoCairoクラスの添付を配布を中止します<ファイル追加>
・miyako_sprite2.c
・miyako_input_audio.c
・miyako_diagram.c
・miyako_yuki.c
・lib/Miyako/miyako_require_only.rb
・lib/miyako.rb
・lib/miyako_require_only.rb
・lib/Miyako/API/color.rb
・lib/Miyako/API/exceptions.rb
・lib/Miyako/API/i_yuki.rb
・lib/Miyako/API/sprite_list.rb
・lib/Miyako/API/struct_point.rb
・lib/Miyako/API/struct_size.rb
・lib/Miyako/API/struct_rect.rb
・lib/Miyako/API/struct_square.rb
・lib/Miyako/API/struct_segment.rb
・lib/Miyako/API/wait_counter.rb<ファイル削除>
・lib/Miyako/EXT/miyako_cairo.rb
・sample/cairo_sample.rb<グローバル変数追加>
・$miyako_auto_open(require時に、同時に画面などの初期化を行うかどうかのフラグ)<定数追加>
・Miyako::VERSION<定数削除>
・Screen::BPP<構造体追加>
・ListPair
・MapStruct
・ScenePool<クラス追加>
・ChoiceStruct
・CollisionEx
・CircleCollisionEx
・CollisionsEx
・InitiativeYuki
・ListPairStruct
・MapStructStruct
・MapStructFactory
・MiyakoCopyError
・MiyakoFileFormatError
・MiyakoIOError
・MiyakoProcError
・MiyakoTypeError
・MiyakoValueError
・Segments
・SpriteList
・MapDir(AccessIndexから変更)<モジュール追加>
・DeepCopy
・InitiativeYukiTemplate
・SpriteArray

・ArrayクラスにSpriteArrayモジュールをmixin
・ObjectクラスにDeepCopyモジュールをmixin<クラス・モジュールメソッド追加>
・Animation.

・Animation.=
・Animation.anim_hash
・Animation.reset
・Animation.start
・Animation.stop
・Animation.update
・Animation.update_animation
・Audio.init
・Audio.initialized?
・Audio.update
・Audio::BGM.update
・Audio::SE.channels
・Audio::SE.update
・Audio::SE.playing_any?
・Audio::SE.channels
・CircleCollision.covers?
・CircleCollision.covered?
・Collision.covers?
・Collision.covered?
・Input.init
・Input.keyboard_enable
・Input.keyboard_disable
・Input.keyboard_enable?
・Input.joypad_enable
・Input.joypad_disable
・Input.joypad_enable?
・Input.mouse_enable
・Input.mouse_disable
・Input.mouse_enable?
・Input.init
・Layout#.copy_layout
・Layout#.broad_rect
・Font.init
・Font.initialized?
・MapChipFactory.create
・MapChipFactory.create_with_size
・MapChipFactory.all_access_table
・MapChipFactory.not_access_table
・MapStructFactory.create
・MapStructFactory.undefined_layer
・Miyako.init
・Miyako.initialized?
・Miyako.open
・Screen.init
・Screen.initialized?
・Screen.pos
・Sprite.sprites
・Sprite.

・Sprite.=
・SpriteBase#.ow
・SpriteBase#.oh
・SpriteBase#.part_rect
・SpriteBase#.image_size
・SpriteBase#.image_rect
・Utility.interval
・Utility.theta
・Yuki.add_method
・WaitCounter.callbacks
・WaitCounter.post_callbacks
・WaitCounter.tick
・WaitCounter.ticks
・WaitCounter.update
・WaitCounter.post_update<クラス・モジュールメソッド廃止>
・Layout#.ow
・Layout#.oh
・SpriteBase#.broad_rect<インスタンスメソッド追加>
・Choise#body_disable
・Choise#enable
・Choice#broad_rect
・Choice#update_layout_size
・Choice#name
・Choices#enable?
・Choices#choices
・Choices#update_layout_size
・Choices#name_to_choice
・Choices#layout_spaces
・Choices#regist_layout_space
・CircleCollision#to_ex
・CircleCollision#covers?
・CircleCollision#covered?
・CircleCollision#body
・CircleCollision#body=
・CircleCollision#rect
・Collision#to_ex
・Collision#covers?
・Collision#covered?
・Collision#body
・Collision#body=
・Collision#center
・Collision#radius
・Collisions#covers?
・Collisions#covered?
・Collisions#covers_all?
・Collisions#covered_all?
・FixedMap#map_size(size -> map_size)
・FixedMap#map_w(w -> map_w)
・FixedMap#map_h(h -> map_h)
・FixedMap#append_event
・FixedMap#event_update
・FixedMap#all_event_update
・FixedMap#event_update2
・FixedMap#all_event_update2
・FixedMap#event_move!
・FixedMap#all_event_move!
・FixedMap#event_sprite_move!
・FixedMap#all_event_sprite_move!
・FixedMap#event_pos_move!
・FixedMap#all_event_pos_move!
・FiexedMapLayer#ignore_list
・FiexedMapLayer#layer
・Font#text
・Font#text=
・Font#render_xy
・Font#render_xy_to
・Font#render_str
・Font#render_str_to
・Layout#.include_snap_child?
・Layout#.laout_pos
・Layout#.laout_size
・Layout#.relative_move_to
・Layout#.relative_move_to!
・Map#map_size(alias size)
・Map#map_w(alias w)
・Map#map_h(alias h)
・Map#append_event
・Map#event_update
・Map#all_event_update
・Map#event_update2
・Map#all_event_update2
・Map#event_move!
・Map#all_event_move!
・Map#event_sprite_move!
・Map#all_event_sprite_move!
・Map#event_pos_move!
・Map#all_event_pos_move!
・MapEventManager#

・MapEventManager#to_id
・MapLayer#ignore_list
・MapLayer#layer
・MapEvent#.update2
・MapEvent#.sprite_move!
・MapEvent#.sprite_move_to!
・MapEvent#.pos_move!
・MapEvent#.pos_move_to!
・Scene#story
・Scene#prev_scene
・Scene#now_scene
・Sprite#render_xy
・Sprite#render_xy_to
・Sprite#collision
・Sprite#collision=
・Sprite#part_move!
・Sprite#part_move_to!
・Sprite#part_resize!
・Sprite#part_resize_to!
・Sprite#part_move
・Sprite#part_move_to
・Sprite#part_resize
・Sprite#part_resize_to
・SpriteAnimation#characters
・SpriteAnimation#patterns
・SpriteBase#render_to
・SpriteBase#visible
・SpriteBase#visible=
・SpriteBase#show
・SpriteBase#hide
・SpriteBase#render_xy
・SpriteBase#render_xy_to
・Textbox#enable_choice?
・Yuki#add_method
・Yuki#over_exec
・Yuki#wait_over_exec
・Yuki#vars_names
・Yuki#parts_names
・Yuki#render_to
・Yuki#update_animation
・Yuki#process
・Yuki#on_disable
・Yuki::Command#body_disable
・Yuki::Command#enable
・Yuki::CommandEx#body_disable
・Yuki::CommandEx#enable
・Audio::BGM#loop_count
・Audio::BGM#in_the_loop?
・Audio::BGM#loop_count_up
・Audio::BGM#allow_loop_count_up
・Audio::BGM#allow_loop_count_up?
・Audio::BGM#start
・Audio::BGM#pausing?
・Audio::BGM#fade_in?
・Audio::BGM#fade_out?
・Audio::SE#start
・Audio::SE#fade_in
・Audio::SE#fade_out
・Audio::SE#fade_in?
・Audio::SE#fade_out?
・Audio::SE#priority
・Audio::SE#priority=
・Plane::update_animation
・Parts#parts_move!
・Parts#parts_move_to!
・Point#+
・Point#-
・Point#*
・Point#/
・Size#+
・Size#-
・Size#*
・Size#/
・Rect#between?
・Rect#pos
・Rect#size
・Rect#to_square
・Rect#+
・Rect#-
・Rect#*
・Rect#/
・Scene#upper_scene
・Scene#next_scene
・Segment#x
・Segment#y
・Segment#min?
・Segment#max?
・Segment#in_range?
・Segment#between?
・Segment#+
・Segment#-
・Segment#*
・Segment#/
・Square#between?
・Square#pos
・Square#size
・Square#to_rect
・Square#+
・Square#-
・Square#*
・Square#/
・WaitCounter#append_callback
・WaitCounter#append_post_callback
・WaitCounter#remove_callback
・WaitCounter#remove_post_callback
・WaitCounter#callback_calls
・WaitCounter#callback_count
・WaitCounter#call
・WaitCounter#now
・WaitCounter#remain
・WaitCounter#reset
・WaitCounter#resume
・WaitCounter#size<インスタンスメソッド廃止>
・Segments#min_x
・Segments#min_y
・Segments#max_x
・Segments#max_y