記事一覧
第1回 設定とタイトル
第2回 メイン画面
第3回 ターゲットと敵と
第4回 スコア・時間など
第5回 ゲームを公開する
第6回 Twitterにスコアを投稿
第7回 サウンド関係
第8回 物理エンジンなど
はじめに
作ったゲームを多くの人に遊んでもらうには,イマドキはやっぱりSNSで告知することでしょうか.あほげーの作品の多くは,ゲーム終了時にゲーム結果をTwitterに投稿できるものが多いようです.ハッシュタグ#ahoge で探すと,ときどきゲームアプリからのツイートが見られます.
ということで,Tonyu2で作ったゲームからもTwitterに投稿する機能を追加してみましょう.
追加したのは主にMainの部分の,メインループが終わってクリア&ゲームオーバーになったところです.
//前略
switch($state) {
case "gameover":
new Label{text="ゲームオーバー",x=230,y=200,size=50};
// ★Tweetするメッセージ
$mesg=$theme+"を"+$score+"個集めたところで"+$subTheme+"に阻まれて無念のリタイア.";
break;
case "clear":
// ★Tweetするメッセージ
$mesg=$time+"秒かけて"+$theme+"を見事"+$score+"個集めきった.";
new Label{text="クリア",x=230,y=200,size=50};
break;
}
new Button{
text="Title",
top=300,
onClick=goTitle,
};
// ★Tweetボタン
new Button{
text="Tweet",
top=350,
onClick=tweet
};
\goTitle() {
new FadeEffect{type="out",page=Title};
}
// ★Tweetするメソッド
\tweet() {
$WebPage.openShareTweet($mesg, $url, "tonyu2,ahoge");
}
まず,クリアまたはゲームオーバーにより,Tweetする内容を変数$mesg
に入れます.
さらに,Titleボタンの下にTweetボタンを新たに設置しています.Tweetボタンが押されたときにはtweetメソッドが呼ばれます.
tweetメソッド内では$WebPage.openShareTweetメソッドを実行しています.これは,メッセージとURL,ハッシュタグを指定してツイート用ページを呼び出すものです.
なお,$urlの内容は,Setting クラスで設定しています.この設定がないと,今開いているページがURLとして指定されたものとみなします.
//---ゲームに関連する情報を定義しておきましょう
$no=26;
$theme="<<第"+$no+"回のテーマ>>";
// ストーリーや,タイトルは
// テーマによっては文脈にさっぱりあわないかもしれないので,
// テーマが発表されたらちゃんと直してね!
$title=$theme+"をゲットせよ!";
$author="hoge1e3";
$subTheme="<<テーマに関連する何か>>";
$story="あなたは"+$theme+"が好きなので,\n"+
$theme+"を集めよう!\n"+
$subTheme+"は集めるなよ!";
//----その他,ゲーム画面を開いたときに初期化したいことはここで
//★追加
$url="https://www.tonyu.jp/project/viewProject.cgi?mainkey=759";
//-----タイトルに移動
loadPage(Title);
こんな感じでTweet機能を簡単に追加できます.
第26回あほげーまで,あと2週間を切りました.テーマが発表されたら,今回のプログラムをさくっと開いて,お好きなようにアレンジしてみてください.
時間があればまだ続くかもしれません...