ページを増やす
- サンプルのJARファイルはページの一番下(スポンサーリンクよりも↓)に張ってあるので自由にダウンロードしてくださぃ♪
ver.2からページの管理はboolean型のflagで管理しようと思います。
つまり1ページに対してboolean型のflagが1つあるという状態です。
ページが多くなるとflag数も増えてしまいますが、管理としてはやりやすいかと思います。
まず以下のような形をとります。
//メインメニューにいる場合
private boolean flag_Main;
//登録画面にいる場合
private boolean flag_Registration;
//作成画面にいる場合
private boolean flag_newRegist;
今回はキャラクターの新規作成画面のflagまでを作成しました。
このflagでどのように管理をするかと言うと次のようになります。
//メニューの判断
public void selectMenu(){
//メインメニュー
if(flag_Main){
panel.loadMenu("/menu/main01.dat");
//登録メニュー
}else if(flag_Registration){
panel.loadMenu("/menu/regist01.dat");
//新規作成メニュー
}else if(flag_newRegist){
panel.loadMenu("/menu/regist02.dat");
}
}
この処理を覚えてますか?(前回掲載はしませんでしたが説明はしましたっ!)
ver.2から汎用性を持たせるような処理に変更したことは前回説明したと思います。
MainPanelクラスのメニューの描画についての処理を思い出してください。引数にファイルの名前を受け取ってましたね?
実はあそこにファイルを渡しているのがMenuクラスのここの処理になります。
これは、現在どのflagが立っているかによって表示するメニューを切り替えている処理です。
これによって、ページを増やしたければflagを新規に1つ立ててここに1行追加するだけで処理が終わります。簡単でしょ??
さて、今回のメインであるボーナス画面ですが。。。
前回までの処理でどうにか書きたかったんですが、さすがにあれで全ての処理を行うことはできませんでした。
とりあえず追加分を説明します。
//登録画面
}else if(flag_Registration){
if(dy==y){
flag_newRegist=true;
flag_Registration=false;
//再描画後のy位置を初期化
dy=y;
}
これは登録画面で新規登録が選択された場合flag_newRegist(新規作成画面のflag)をtrueにする処理です。
ver.2からの改良点の1つですが、ページを移動するときは今まで表示していたページのflagを無効にして
新しいページのflagを有効にすることでページを移動させることができ、前回よりもわかりやすいものになったと思います。
ページを移動させたい場合にはこの数行の処理を追加するだけでいいのです。
話が逸れましたが、flag_newRegistが有効になるとMainPanel側のpaintComponentで以下の処理が有効になります。
//キャラクター作成の場合
if(menu.getNewRegist()){
menu.draw(g);
}
ここの処理が新規作成画面の枠を表示する部分になります。処理は以下になります。
//キャラクター作成時のウィンドウ表示
public void draw(Graphics g){
g.drawRect(CHARA_RECT.x,CHARA_RECT.y,CHARA_RECT.width,CHARA_RECT.height);
g.drawRect(BONUS_RECT.x,BONUS_RECT.y,BONUS_RECT.width,BONUS_RECT.height);
}
枠を表示するだけですっ!(笑)
今回はちょっとオリジナル仕様にしてみました。作成時にステータス画面を表示させてます。
まぁそれだけです。。。
次から具体的な数値を入れていきたいと思います。
最終更新:2008年06月30日 16:22