このWikiは古くなりました:新しいWikiへ移動


//@pnavi
[[←前>ランキング用CGIを設置する]]  [[トップ>シューティングゲームの作成]]

**ネットランキング対応のランタイムを作成する [#l1db2f20]

先ほどまでで作成したシューティングをネットランキング対応にしましょう。

シューティングゲームのページを開いた状態で、メニューの「ウィンドウ」→「ネットランキング」を選びます

&ref(openNetRank.png);

URLに、[[前項>ランキング用CGIを設置する]]でアップロードしたCGIのURLを設定します。

&ref(setRankURL.png);

自機が死んだときにランキングのページを開くようにしましょう

メニューの「オブジェクト」→「新規」を選んで新しくオブジェクトを作成します。オブジェクトの種類は「テキスト」です

&ref(newText2.png);

テキストオブジェクトを選択します。
オブジェクトインスペクタで、文字を変更します

&ref(setcaption.png);

テキストをダブルクリックして、次のように入力します。

//prog


 extends TextChar;
 setVisible(0);
 while(!$myChar.isDied()) {
   update();
 }
 setVisible(1);
 while(getkey(13)==0) {
   update();
 }
 $ranking.setParam("score",$score);
 $ranking.openBrowser();


このプログラムについて解説します。

//progfrac 
  setVisible(0);


↑これはこのテキストを一旦非表示にするための命令です。

//progfrac 
 while(!$myChar.isDead()) {
   update();
 }


↑これは、$myCharつまり自機が死んでいない間、update()を繰り返します。
[[isDead]] は、オブジェクトが死んでいる( die()メソッドがよばれている)かを検査するメソッドです。

//progfrac 
 setVisible(1);
 while(getkey(13)==0) {
   update();
 }


↑この部分では、 setVisible(1);によりテキスト("Press Return to Regist Hiscore")を表示します。さらにEnterキーが押されるまでupdate()を繰り返しながら待機します。

//progfrac 
 $ranking.setParam("score",$score);
 $ranking.openBrowser();


↑この部分で実際にWeb上にスコア登録をおこないます。

-[[$ranking.setParam]](name,value)は、登録の際のパラメータを設定します。ここでは、scoreという名前のパラメータに$scoreの値(つまり得点)を設定します。
-[[$ranking.openBrowser]](); は、ブラウザから登録画面を開きます。

試しに一回実行してみましょう。
自機が死んだ後、Press Return to Regist Hiscore
が表示されます。ここでEnterを押すとブラウザが開いて登録画面が表示されますが....

&ref(browseError.png);

エラーが発生しました。実は、開発環境からはハイスコア登録できないようになっています。ここでは、ブラウザが開くのとCGIが正常動作するのを確認するだけにします。(この後ランタイムを作成するとハイスコア登録が可能になります)

この状態で、[[配布する>配布する]]を参考にランタイムを作成します。このとき、ネットランキングランキング管理者パスワードの欄に、[[前項>ランキング用CGIを設置する]]で設定した''ネットランキング管理者パスワード''を入力します。

&ref(mkpass.png);

作成したランタイムをWebサーバ上に上げて、ダウンロード可能な状態にしておきます

テストします。Webサーバからアーカイブをダウンロード、解凍し、ゲームをやってみましょう。自機が死んだらEnterを押して登録画面に入ります

//@pnavi
[[←前>ランキング用CGIを設置する]]  [[トップ>シューティングゲームの作成]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS