Module: Miyako
- Defined in:
- lib/Miyako/miyako.rb,
lib/Miyako/miyako.rb,
lib/Miyako/API/map.rb,
lib/Miyako/API/font.rb,
lib/Miyako/API/yuki.rb,
lib/Miyako/API/audio.rb,
lib/Miyako/API/color.rb,
lib/Miyako/API/input.rb,
lib/Miyako/API/movie.rb,
lib/Miyako/API/parts.rb,
lib/Miyako/API/plane.rb,
lib/Miyako/API/shape.rb,
lib/Miyako/API/story.rb,
lib/Miyako/API/bitmap.rb,
lib/Miyako/API/i_yuki.rb,
lib/Miyako/API/layout.rb,
lib/Miyako/API/screen.rb,
lib/Miyako/API/sprite.rb,
lib/Miyako/EXT/drawer.rb,
lib/Miyako/EXT/slides.rb,
lib/Miyako/API/choices.rb,
lib/Miyako/API/diagram.rb,
lib/Miyako/API/drawing.rb,
lib/Miyako/API/modules.rb,
lib/Miyako/API/textbox.rb,
lib/Miyako/API/utility.rb,
lib/Miyako/API/fixedmap.rb,
lib/Miyako/API/viewport.rb,
lib/Miyako/API/collision.rb,
lib/Miyako/API/map_event.rb,
lib/Miyako/API/exceptions.rb,
lib/Miyako/API/map_struct.rb,
lib/Miyako/API/spriteunit.rb,
lib/Miyako/API/sprite_list.rb,
lib/Miyako/API/struct_rect.rb,
lib/Miyako/API/struct_size.rb,
lib/Miyako/API/simple_story.rb,
lib/Miyako/API/struct_point.rb,
lib/Miyako/API/wait_counter.rb,
lib/Miyako/API/struct_square.rb,
lib/Miyako/EXT/raster_scroll.rb,
lib/Miyako/API/struct_segment.rb,
lib/Miyako/API/sprite_animation.rb
Overview
– Miyako v2.1 Copyright © 2007-2009 Cyross Makoto
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++
Defined Under Namespace
Modules: Animation, Audio, DeepCopy, Diagram, Drawing, InitiativeYukiTemplate, Input, Layout, MapEvent, Screen, Slide, SpriteArray, SpriteBase, Utility Classes: Bitmap, ChoiceStruct, Choices, CircleCollision, CircleCollisionEx, Collision, CollisionEx, Collisions, CollisionsEx, Color, Drawer, FixedMap, Font, InitiativeYuki, LayoutSnapStruct, LayoutSpace, LayoutStruct, ListPairStruct, Map, MapChipFactory, MapChipStruct, MapDir, MapEventManager, MapStructFactory, MapStructStruct, MiyakoCopyError, MiyakoError, MiyakoFileFormatError, MiyakoIOError, MiyakoProcError, MiyakoTypeError, MiyakoValueError, Movie, Parts, Plane, PointStruct, RasterScroll, RectStruct, Segment, SegmentStruct, Segments, Shape, SimpleStory, SizeStruct, Sprite, SpriteAnimation, SpriteList, SpriteUnitBase, SpriteUnitFactory, SquareStruct, Story, TextBox, Viewport, WaitCounter, Yuki
Constant Summary collapse
- VERSION =
"2.1.22"
- ScenarioEngine =
Yuki
- InitiativeScenarioEngineTemplate =
InitiativeYukiTemplate
- InitiativeScenarioEngine =
InitiativeYuki
- Choice =
選択肢構造体
選択肢を構成する要素の集合
複数のChoice構造体のインスタンスをまとめて、配列として構成されている 選択肢を表示させるときは、body 自体の表示位置を変更させる必要がある
- body
-
選択肢を示す画像
- body_selected
-
選択肢を示す画像(選択時)
- body_disable
-
選択肢を示す画像(選択不可時)
- condition
-
選択肢を表示できる条件を記述したブロック
- enable
-
選択肢を選択できるときはtrue、不可の時はfalse
- selected
-
選択肢が選択されているときはtrue、選択されていないときはfalse
- result
-
選択した結果を示すインスタンス
- left
-
左方向を選択したときに参照するChoice構造体のインスタンス
- up
-
上方向を選択したときに参照するChoice構造体のインスタンス
- right
-
右方向を選択したときに参照するChoice構造体のインスタンス
- down
-
下方向を選択したときに参照するChoice構造体のインスタンス
- base
-
構造体が要素となっているChoices
- attribute
-
属性を示すハッシュ
- end_select_proc
-
この選択肢を選択したときに優先的に処理するブロック。
ブロックは1つの引数を取る(コマンド選択テキストボックス))。 デフォルトはnil(何もしない)
- name
-
選択肢の名前。名前を明示的に指定しないときは、オブジェクトIDを文字列化したものが入る
ChoiceStruct.new(:body, :body_selected, :body_disable, :condition, :enable, :selected, :result, :left, :up, :right, :down, :base, :attribute, :end_select_proc, :name)
- MapChip =
マップチップ定義構造体
MapChipStruct.new(:chip_image, :chips, :size, :chip_size, :access_types, :collision_table, :access_table)
- MapStruct =
マップチップ定義構造体
MapStructStruct.new(:size, :layer_num, :layers, :elayer_num, :elayers)
- SpriteUnit =
スプライト出力情報構造体
基本的なことは、Sprite.renderで行うことが出来るが、凝った処理を行う場合は、SpriteUnitを使う – SpriteUnit = Struct.new(, :bitmap, :ox, :oy, :ow, :oh, :x, :y, :cx, :cy) ++ ([数字])は、配列として認識したときのインデックス番号に対応(Struct#[]メソッドを呼び出した時のインデックス) :bitmap() -> 画像データ(SDL::Surfaceクラスのインスタンス) :ox() -> 描画開始位置(x方向) :oy() -> 描画開始位置(y方向) :ow() -> 描画幅 :oh() -> 描画高さ :x() -> 描画幅 :y() -> 描画高さ :cx() -> 回転・拡大・縮小・鏡像の中心座標(x方向) :cy() -> 回転・拡大・縮小・鏡像の中心座標(y方向)
SpriteUnitBase.new(:bitmap, :ox, :oy, :ow, :oh, :x, :y, :cx, :cy)
- ListPair =
名前-本体ペアを構成する構造体
ハッシュのようにキー・バリュー構成を持たせるための構造体
- name
-
名前
- body
-
本体
ListPairStruct.new(:name, :body)
- Rect =
矩形などを構成するために使用する構造体
- x
-
X座標の値
- y
-
Y座標の値
- w
-
横幅
- h
-
高さ
RectStruct.new(:x, :y, :w, :h)
- Size =
サイズなどを構成するために使用する構造体
- w
-
横幅
- h
-
高さ
SizeStruct.new(:w, :h)
- Point =
座標などを構成するために使用する構造体
- x
-
X座標の値
- y
-
Y座標の値
PointStruct.new(:x, :y)
- Square =
矩形などを構成するために使用する構造体
- left
-
左上X座標の値
- top
-
左上Y座標の値
- right
-
右下X座標の値
- bottom
-
右下Y座標の値
SquareStruct.new(:left, :top, :right, :bottom)
- @@osName =
"other"
- @@initialized =
false
- @@modes =
[:text, :txt_calc, :takahashi, :tk_calc]
Class Method Summary collapse
-
.getOSName ⇒ Object
実行しているOSの名前を取得する (Windows 9x/Me/Xp/Vista, Cygwin/MinGW) : “win” (Linux) : “linux” (Mac OS X) : “mac_osx” (other) : “other” 返却値:: OS名.
-
.init ⇒ Object
SDLの初期化.
-
.initialized? ⇒ Boolean
Miyako(SDL)が初期化された?.
-
.main_loop(is_clear = true) ⇒ Object
Miyakoのメインループ ブロックを受け取り、そのブロックを評価する ブロック評価前にAudio::updateとInput::update、WaitCounter::update、 Screen::clear、評価後にWaitCounter::post_update、Animation::update、 Screen::renderを呼び出す.
-
.open(screen = nil, buf_size = 4096, seq = 44100) ⇒ Object
Miyakoの初期化 画面初期化や音声初期化などのメソッドを呼び出す。 グローバル変数$miyako_auto_openがtrueのときは最初に自動的に呼び出される。 ユーティリティメソッドを使うだけならば、$miyako_auto_open=falseを設定して、後々Miyako.openを呼び出す。 screen:: 別のプロセスで生成されたSDL::Screenクラスのインスタンス。省略時はnil buf_size:: Audioモジュールで使用するバッファサイズ。単位はバイト。省略時は4096 seq:: Audioモジュールで使用する音声の再生サンプル周波数。省略時は44100(44.1kHz).
-
.setTitle(title) ⇒ Object
ウィンドウのタイトルを設定する title:: 設定する文字列.
-
.version ⇒ Object
Miyakoのバージョン番号を出力する 返却値:: バージョン番号を示す文字列.
Class Method Details
.getOSName ⇒ Object
実行しているOSの名前を取得する
(Windows 9x/Me/Xp/Vista, Cygwin/MinGW) : “win” (Linux) : “linux” (Mac OS X) : “mac_osx” (other) : “other”
- 返却値
-
OS名
101 102 103 |
# File 'lib/Miyako/miyako.rb', line 101 def Miyako::getOSName return @@osName end |
.init ⇒ Object
SDLの初期化
186 187 188 189 190 191 192 193 194 |
# File 'lib/Miyako/miyako.rb', line 186 def Miyako.init raise MiyakoError, "Already initialized!" if @@initialized if $not_use_audio SDL.init(SDL::INIT_VIDEO | SDL::INIT_JOYSTICK) else SDL.init(SDL::INIT_VIDEO | SDL::INIT_AUDIO | SDL::INIT_JOYSTICK) end @@initialized = true end |
.initialized? ⇒ Boolean
Miyako(SDL)が初期化された?
197 198 199 |
# File 'lib/Miyako/miyako.rb', line 197 def Miyako.initialized? @@initialized end |
.main_loop(is_clear = true) ⇒ Object
Miyakoのメインループ
ブロックを受け取り、そのブロックを評価する ブロック評価前にAudio::updateとInput::update、WaitCounter::update、 Screen::clear、評価後にWaitCounter::post_update、Animation::update、 Screen::renderを呼び出す
ブロックを渡さないと例外が発生する
171 172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'lib/Miyako/miyako.rb', line 171 def Miyako.main_loop(is_clear = true) raise MiyakoError, "Miyako.main_loop needs brock!" unless block_given? loop do Audio.update Input.update WaitCounter.update Screen.clear if is_clear yield WaitCounter.post_update Animation.update Screen.render end end |
.open(screen = nil, buf_size = 4096, seq = 44100) ⇒ Object
Miyakoの初期化
画面初期化や音声初期化などのメソッドを呼び出す。 グローバル変数$miyako_auto_openがtrueのときは最初に自動的に呼び出される。 ユーティリティメソッドを使うだけならば、$miyako_auto_open=falseを設定して、後々Miyako.openを呼び出す。
- screen
-
別のプロセスで生成されたSDL::Screenクラスのインスタンス。省略時はnil
- buf_size
-
Audioモジュールで使用するバッファサイズ。単位はバイト。省略時は4096
- seq
-
Audioモジュールで使用する音声の再生サンプル周波数。省略時は44100(44.1kHz)
208 209 210 211 212 213 214 |
# File 'lib/Miyako/miyako.rb', line 208 def Miyako.open(screen = nil, buf_size = 4096, seq = 44100) Miyako.init Screen.init(screen) Font.init Audio.init(buf_size, seq) Input.init end |
.setTitle(title) ⇒ Object
ウィンドウのタイトルを設定する
- title
-
設定する文字列
107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/Miyako/miyako.rb', line 107 def Miyako::setTitle(title) str = title case @@osName when "win" str = title.to_s().encode(Encoding::SJIS) when "mac_osx" str = title.to_s().encode(Encoding::UTF_8) when "linux" str = title.to_s().encode(Encoding::EUCJP) end SDL::WM.setCaption(str, "") end |