SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Flashによるマルチプレイヤーゲーム入門: 三目並べ

Pulse UI Frameworkによるオンラインゲームの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

プレイヤーにターンを表示する

public function onPlayerTurn():void {
// show the turn indicator
m_showingTurn = true;
addChild(m_turnSprite);
}

 このメソッドはPulseGameオブジェクトから呼び出されます。サーバから次はどのプレイヤーのターン(番)か指示されたとき、そのプレイヤーに「Your Turn」スプライトを表示します。

プレイヤーが手を指せるようにする

private function playAction(event:MouseEvent):void {
var gc:GameClient = PulseGame.getInstance().getGameClient();
if (gc.isMyTurn() == true) {
var selectedSprite:TictactoeHotspot;
selectedSprite = event.target as TictactoeHotspot;
if ( selectedSprite == null )
return;
var xPos:int = selectedSprite.col;
var yPos:int = selectedSprite.row;
if(m_hotspotArray[xPos][yPos].value == 0) {
m_tictactoeGame.sendGameState(xPos, yPos, m_putValue);
m_showingTurn = false;
removeChild(m_turnSprite);
}
}
}

 マウスクリックに対して、いくつかのチェックを行います。最初に、本当にそのプレイヤーの番か確認し、そうでなければ無視します。次に、クリックされた場所が空の(有効な)スポットか確認し、すべてのチェックにパスすれば、プレイヤーのアクションをサーバに送り、サーバからゲーム状態がそのプレイヤーと対戦相手に送られてきます。

 プレイヤーのアクションをクライアントが受け取ると、TictactoeGame(上のコードを参照)オブジェクトが次のメソッドを呼び出します。今回の実装では、画面を更新し、ゲームに勝ったか、負けたか、または引き分けたかだけをチェックしています。

public function onPlayerMoved(gameState:GameStateClient):void {
var putMsg:PutClient = gameState as PutClient;
showSprite(putMsg.getPutRow(),
putMsg.getPutColumn(),
putMsg.getPutValue());
checkGameEnd();
}

 基本的な仕組みは以上です。ぜひ皆さんも、Flashによるマルチプレイヤーゲームを作ってみてください!

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Prashanth Hirematada(Prashanth Hirematada)

ゲーム開発会社Gamantraの創設者でありチーフアーキテクト。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3853 2009/05/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング