Vamp898
|
verfasst am 15.07.2006 um 03:46:50 Uhr
Ich will ein Intro vor dem Mainscreen, wer kann mir da helfen:
#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
# タイトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Title
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# 戦闘テストの場合
if $BTEST
battle_test
return
end
# データベースをロード
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
# システムオブジェクトを作成
$game_system = Game_System.new
# タイトルグラフィックを作成
@sprite = Sprite.new
@sprite.bitmap = RPG::Cache.title($data_system.title_name)
# コマンドウィンドウを作成
s1 = "Neues Spiel"
s2 = "Spiel laden"
s3 = "Ausgang"
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
# コンティニュー有効判定
# セーブファイルがひとつでも存在するかどうかを調べる
# 有効なら @continue_enabled を true、無効なら false にする
@continue_enabled = false
for i in 0..3
if FileTest.exist?("Save#{i+1}.sav")
@continue_enabled = true
end
end
# コンティニューが有効な場合、カーソルをコンティニューに合わせる
# 無効な場合、コンティニューの文字をグレー表示にする
if @continue_enabled
@command_window.index = 1
else
@command_window.disable_item(1)
end
# タイトル BGM を演奏
$game_system.bgm_play($data_system.title_bgm)
# ME、BGS の演奏を停止
Audio.me_stop
Audio.bgs_stop
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# コマンドウィンドウを解放
@command_window.dispose
# タイトルグラフィックを解放
@sprite.bitmap.dispose
@sprite.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# コマンドウィンドウを更新
@command_window.update
# C ボタンが押された場合
if Input.trigger?(Input::C)
# コマンドウィンドウのカーソル位置で分岐
case @command_window.index
when 0 # ニューゲーム
command_new_game
when 1 # コンティニュー
command_continue
when 2 # シャットダウン
command_shutdown
end
end
end
#--------------------------------------------------------------------------
# ● コマンド : ニューゲーム
#--------------------------------------------------------------------------
def command_new_game
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM を停止
Audio.bgm_stop
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 初期パーティをセットアップ
$game_party.setup_starting_members
# 初期位置のマップをセットアップ
$game_map.setup($data_system.start_map_id)
# プレイヤーを初期位置に移動
$game_player.moveto($data_system.start_x, $data_system.start_y)
# プレイヤーをリフレッシュ
$game_player.refresh
# マップに設定されている BGM と BGS の自動切り替えを実行
$game_map.autoplay
# マップを更新 (並列イベント実行)
$game_map.update
# マップ画面に切り替え
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# ● コマンド : コンティニュー
#--------------------------------------------------------------------------
def command_continue
# コンティニューが無効の場合
unless @continue_enabled
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# ロード画面に切り替え
$scene = Scene_Load.new
end
#--------------------------------------------------------------------------
# ● コマンド : シャットダウン
#--------------------------------------------------------------------------
def command_shutdown
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# BGM、BGS、ME をフェードアウト
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
# シャットダウン
$scene = nil
end
#--------------------------------------------------------------------------
# ● 戦闘テスト
#--------------------------------------------------------------------------
def battle_test
# データベース (戦闘テスト用) をロード
$data_actors = load_data("Data/BT_Actors.rxdata")
$data_classes = load_data("Data/BT_Classes.rxdata")
$data_skills = load_data("Data/BT_Skills.rxdata")
$data_items = load_data("Data/BT_Items.rxdata")
$data_weapons = load_data("Data/BT_Weapons.rxdata")
$data_armors = load_data("Data/BT_Armors.rxdata")
$data_enemies = load_data("Data/BT_Enemies.rxdata")
$data_troops = load_data("Data/BT_Troops.rxdata")
$data_states = load_data("Data/BT_States.rxdata")
$data_animations = load_data("Data/BT_Animations.rxdata")
$data_tilesets = load_data("Data/BT_Tilesets.rxdata")
$data_common_events = load_data("Data/BT_CommonEvents.rxdata")
$data_system = load_data("Data/BT_System.rxdata")
# プレイ時間計測用のフレームカウントをリセット
Graphics.frame_count = 0
# 各種ゲームオブジェクトを作成
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# 戦闘テスト用のパーティをセットアップ
$game_party.setup_battle_test_members
# トループ ID、逃走可能フラグ、バトルバックを設定
$game_temp.battle_troop_id = $data_system.test_troop_id
$game_temp.battle_can_escape = true
$game_map.battleback_name = $data_system.battleback_name
# バトル開始 SE を演奏
$game_system.se_play($data_system.battle_start_se)
# バトル BGM を演奏
$game_system.bgm_play($game_system.battle_bgm)
# バトル画面に切り替え
$scene = Scene_Battle.new
end
end
|
|
sono.O
|
verfasst am 15.07.2006 um 03:55:19 Uhr
attr_accessor :map_bgm # マップ画面 BGM (バトル時記憶用)
attr_accessor :message_text # メッセージ 文章
attr_accessor :message_proc # メッセージ コールバック (Proc)
attr_accessor :choice_start # 選択肢 開始行
attr_accessor :choice_max # 選択肢 項目数
attr_accessor :choice_cancel_type # 選択肢 キャンセルの場合
attr_accessor :choice_proc # 選択肢 コールバック (Proc)
attr_accessor :num_input_start # 数値入力 開始行
attr_accessor :num_input_variable_id # 数値入力 変数 ID
attr_accessor :num_input_digits_max # 数値入力 桁数
attr_accessor :message_window_showing # メッセージウィンドウ表示中
attr_accessor :common_event_id # コモンイベント ID
attr_accessor :in_battle # 戦闘中フラグ
attr_accessor :battle_calling # バトル 呼び出しフラグ
attr_accessor :battle_troop_id # バトル トループ ID
attr_accessor :battle_can_escape # バトル 逃走可能フラグ
attr_accessor :battle_can_lose # バトル 敗北可能フラグ
attr_accessor :battle_proc # バトル コールバック (Proc)
das makierte muß bearbeitet werden !
|
|
minister
|
verfasst am 15.07.2006 um 03:55:43 Uhr
Also ich halte mich ja nicht gerade fuer unbewandert in Sachen Programmiersprachen, aber was ist denn das bitte fuer eine? Ich wuerde am ehsten auf Flash tippen!
|
|
Vamp898
|
verfasst am 15.07.2006 um 03:57:30 Uhr
[code]def initialize
super
self.bitmap = Bitmap.new(88, 48)
self.bitmap.font.name = $defaultfonttype # Unknown At This Time
self.bitmap.font.size = $defaultfontsize # Unknown At This Time
self.x = 640 - self.bitmap.width
self.y = 0
self.z = 500
update
end[/code]
Aber der Teil wird dann als falsch gemeldet
|
|
sono.O
|
verfasst am 15.07.2006 um 04:01:14 Uhr
hier ist die lösung :
[code]def initialize(exp, gold, treasures)
@exp = exp
@gold = gold
@treasures = treasures
super(160, 0, 320, @treasures.size * 32 + 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Battle Result" window font
self.contents.font.size = $defaultfontsize
self.y = 160 - height / 2
self.back_opacity = 160
self.visible = false
refresh
end[/code]
:D:D:D:D
|
|
Vamp898
|
verfasst am 15.07.2006 um 04:02:09 Uhr
Haha, jetzt ist mein alter immernoch falsch, dafür hab ich noch zusätzlich das bekommen:
[code]def refresh
self.contents.clear
x = 4
self.contents.font.color = normal_color
cx = contents.text_size(@exp.to_s).width
self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
x += cx + 4
self.contents.font.color = system_color
cx = contents.text_size("Exp").width
self.contents.draw_text(x, 0, 64, 32, "Exp")
x += cx + 16
self.contents.font.color = normal_color
cx = contents.text_size(@gold.to_s).width
self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
x += cx + 4
self.contents.font.color = system_color
self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
y = 32
for item in @treasures
draw_item_name(item, 4, y)
y += 32
end
end
end[/code]
|
|
sono.O
|
verfasst am 15.07.2006 um 04:06:19 Uhr
Lass einfach den STK Debugger über QLX Quante Script rennen. Dann müsst alles erledigt sein. :wink: :wink:
|
|
Vamp898
|
verfasst am 15.07.2006 um 04:08:14 Uhr
[code]@parameters = @list[@index].parameters
# コマンドコードで分岐
case @list[@index].code
when 101 # 文章の表示
return command_101
when 102 # 選択肢の表示
return command_102
when 402 # [**] の場合
return command_402
when 403 # キャンセルの場合
return command_403
when 103 # 数値入力の処理
return command_103
when 104 # 文章オプション変更
return command_104
when 105 # ボタン入力の処理
return command_105
when 106 # ウェイト
return command_106
when 111 # 条件分岐
return command_111
when 411 # それ以外の場合
return command_411
when 112 # ループ
return command_112
when 413 # 以上繰り返し
return command_413
when 113 # ループの中断
return command_113
when 115 # イベント処理の中断
return command_115
when 116 # イベントの一時消去
return command_116
when 117 # コモンイベント
return command_117
when 118 # ラベル
return command_118
when 119 # ラベルジャンプ
return command_119
when 121 # スイッチの操作
return command_121
when 122 # 変数の操作
return command_122
when 123 # セルフスイッチの操作
return command_123
when 124 # タイマーの操作
return command_124
when 125 # ゴールドの増減
return command_125
when 126 # アイテムの増減
return command_126
when 127 # 武器の増減
return command_127
when 128 # 防具の増減
return command_128
when 129 # アクターの入れ替え
return command_129
when 131 # ウィンドウスキンの変更
return command_131
when 132 # バトル BGM の変更
return command_132
when 133 # バトル終了 ME の変更
return command_133
when 134 # セーブ禁止の変更
return command_134
when 135 # メニュー禁止の変更
return command_135
when 136 # エンカウント禁止の変更
return command_136
when 201 # 場所移動
return command_201
when 202 # イベントの位置設定
return command_202
when 203 # マップのスクロール
return command_203
when 204 # マップの設定変更
return command_204
when 205 # フォグの色調変更
return command_205
when 206 # フォグの不透明度変更
return command_206
when 207 # アニメーションの表示
return command_207
when 208 # 透明状態の変更
return command_208
when 209 # 移動ルートの設定
return command_209
when 210 # 移動完了までウェイト
return command_210
when 221 # トランジション準備
return command_221
when 222 # トランジション実行
return command_222
when 223 # 画面の色調変更
return command_223
when 224 # 画面のフラッシュ
return command_224
when 225 # 画面のシェイク
return command_225
when 231 # ピクチャの表示
return command_231
when 232 # ピクチャの移動
return command_232
when 233 # ピクチャの回転
return command_233
when 234 # ピクチャの色調変更
return command_234
when 235 # ピクチャの消去
return command_235
when 236 # 天候の設定
return command_236
when 241 # BGM の演奏
return command_241
when 242 # BGM のフェードアウト
return command_242
when 245 # BGS の演奏
return command_245
when 246 # BGS のフェードアウト
return command_246
when 247 # BGM / BGS の記憶
return command_247
when 248 # BGM / BGS の復帰
return command_248
when 249 # ME の演奏
return command_249
when 250 # SE の演奏
return command_250
when 251 # SE の停止
return command_251
when 301 # バトルの処理
return command_301
when 601 # 勝った場合
return command_601
when 602 # 逃げた場合
return command_602
when 603 # 負けた場合
return command_603
when 302 # ショップの処理
return command_302
when 303 # 名前入力の処理
return command_303
when 311 # HP の増減
return command_311
when 312 # SP の増減
return command_312
when 313 # ステートの変更
return command_313
when 314 # 全回復
return command_314
when 315 # EXP の増減
return command_315
when 316 # レベルの増減
return command_316
when 317 # パラメータの増減
return command_317
when 318 # スキルの増減
return command_318
when 319 # 装備の変更
return command_319
when 320 # アクターの名前変更
return command_320
when 321 # アクターのクラス変更
return command_321
when 322 # アクターのグラフィック変更
return command_322
when 331 # エネミーの HP 増減
return command_331
when 332 # エネミーの SP 増減
return command_332
when 333 # エネミーのステート変更
return command_333
when 334 # エネミーの出現
return command_334
when 335 # エネミーの変身
return command_335
when 336 # エネミーの全回復
return command_336
when 337 # アニメーションの表示
return command_337
when 338 # ダメージの処理
return command_338
when 339 # アクションの強制
return command_339
when 340 # バトルの中断
return command_340
when 351 # メニュー画面の呼び出し
return command_351
when 352 # セーブ画面の呼び出し
return command_352
when 353 # ゲームオーバー
return command_353
when 354 # タイトル画面に戻す
return command_354
when 355 # スクリプト
return command_355
else # その他
return true
end
end[/code]
Danke man hat funktioniert, so ich hoff ich hab mit den 3D Animationen kein Problem mehr.
|
|
sono.O
|
verfasst am 15.07.2006 um 04:14:34 Uhr
keine ursache for i in @parameters[0] .. @parameters[*1*]
|
|
Vamp898
|
verfasst am 15.07.2006 um 04:18:07 Uhr
[code]#==============================================================================
# ■ Window_Help
#------------------------------------------------------------------------------
# スキルやアイテムの説明、アクターのステータスなどを表示するウィンドウです。
#==============================================================================
class Window_Help < Window_Base
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype # "Help" window font
self.contents.font.size = $defaultfontsize
end
#--------------------------------------------------------------------------
# ● テキスト設定
# text : ウィンドウに表示する文字列
# align : アラインメント (0..左揃え、1..中央揃え、2..右揃え)
#--------------------------------------------------------------------------
def set_text(text, align = 0)
# テキストとアラインメントの少なくとも一方が前回と違っている場合
if text != @text or align != @align
# テキストを再描画
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, self.width - 40, 32, text, align)
@text = text
@align = align
@actor = nil
end
self.visible = true
end
#--------------------------------------------------------------------------
# ● アクター設定
# actor : ステータスを表示するアクター
#--------------------------------------------------------------------------
def set_actor(actor)
if actor != @actor
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
draw_actor_hp(actor, 284, 0)
draw_actor_sp(actor, 460, 0)
@actor = actor
@text = nil
self.visible = true
end
end
#--------------------------------------------------------------------------
# ● エネミー設定
# enemy : 名前とステートを表示するエネミー
#--------------------------------------------------------------------------
def set_enemy(enemy)
text = enemy.name
state_text = make_battler_state_text(enemy, 112, false)
if state_text != ""
text += " " + state_text
end
set_text(text, 1)
end
end
[/code]
Das iss mein letztes Problem für heute, die Help file will nich gehen.
|
|
sono.O
|
verfasst am 15.07.2006 um 04:19:07 Uhr
wir machen morgen weiter ich brauche sachlaf !!! :wink:
|
|
thorr
|
verfasst am 15.07.2006 um 10:06:26 Uhr
wasn das für ne programmiersprache? c++? und warum sind da so komische chinesische zeichen??
#tf torben
|
|
geronimo89
|
verfasst am 15.07.2006 um 15:25:52 Uhr
@raute.tf: bestimmt weil die admins vom board hier irgend sonen dummen iso zeichensatz verwenden.
glaube eher dass das flash oder actionscript oder so ist
|
|
halfdan
|
verfasst am 29.10.2006 um 18:18:45 Uhr
auf jeden fall kein c++.. das ist was basic aehnliches.
|
|