AID/スルーパス 運営公式ブログ

スマートフォン向けアドネットワーク「AID(エイド)」、SSPの「スルーパス」運営チームの公式ブログ。
Android/iOS向けのマネタイズプラットフォームとして、
開発・DL数拡大・収益化をテーマとした記事を更新していきます。

タグ:入門

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

今回はいよいよ(ようやく?)アプリをマーケットに登録する準備を書いていきたいと思います。

まずは先日、無事にリリースすることが出来ましたアプリがこちら!
jjjjjjjj
アクションゲーム☆ジャンピンググランパ![完全無料]

スコア表示がおかしくなるなどバグがいくつかありますが、
ひとまず宣言通りにリリース出来て良かったです!
良かったらダウンロードしてみてください!!

第10話 アプリをマーケットに登録する準備(署名)

アプリを登録するためにはまず、マーケットに公開出来るようにビルドする必要があります!
ビルドに必要なものは今後詳しくまとめる予定ですので、今回は一番手間取ったデジタル署名について記載したいと思います。

Androidアプリをストアに公開するには、デジタル署名というものが必要らしいのです。
署名とは、文字通りこのアプリは私が作りましたよーっていうサインのようなもの・・・だと思います!
この署名の作成方法が結構厄介で、コマンドを叩いて作成するようなのですが非プログラマーの私は苦戦しまくりでした(汗

色々試した挙句、署名は作成出来たのですが、今度はアプリに署名が上手くできません(><;)
っとここで色々ググっていたらなんと!Unity上で署名が完結することが判明!!←早く気づけ

前振りが長くなりましたが、Unity上での署名の付け方について書いていきます!

まずはFileからBuild Settingをクリック!!
a

次にBuild SettingのPlayer Settingをクリック!!
a

すると、左のInspectorにアプリの設定情報が出てきますので、
こちらのPublishing Settingをクリックして、Create New Keysにチェックを入れる。
ghfdf

さらに、Keystore Passwordを入力し、Confirm Passwordにも同じく入力。
入力が完了したら、Browse Keystoreをクリック!!
これでKeystoreの保存が出来ました!
fgshsgs

次に、KeyのAliasのタブをCreate New Keyにするとこんなポップアップが出てきます。
sadsfsfsfs
それぞれの項目に下記を入力していきます。

[Alias]:署名の名前
[Password]:パスワード
[Confirm]:確認用パスワード再入力
[Validity(years)]:使用期限 (50とかで問題無し)
[First and Last Name]:作者名
[Organizational Unit]:組織単位
[Organization]:組織名
[City or Locality]:都市名
[State or Province]:地方名
[Country Code]:国番号

ちなみに、全て英数字で記載します。
これでKeyStoreの設定は完了です!
ddddddddddd
最後に、FileのBuild Settingを開いて、Development Buildのチェックを外す。
これを忘れると、AndroidManifestファイルがデバッグに書き換えられてしまいます。
sadadadadada

あとはBuildボタンを押すだけです。
これで署名付きのビルドは完成です!!

この記事を書いた人
 石田 哲也  AIDパートナー様担当
 canvas facebook
神奈川県出身。輸入事業で起業後、広告代理店~リワードアドネットワーク~アプリ開発事業を経てライヴエイドに参画。
このエントリーをはてなブックマークに追加

前回にゲームのルールに関する部分を作っていきました。
今回はコインを100枚取得するとLIFEが1回復するという機能を作って見たいと思います。

第9話 1up機能を作ってみる

コインをただ取るだけでは面白味が無いので、某ゲームのようにコインを100枚取得するとLIFEが1回復するという処理を実装してみます!

やりたいこととしては、
1. コインが100枚になったら0にリセットする
2. コインが100枚になったらLIFEを1回復させる
※LIFEは7話で作成したDeathカウントをLIFEに改造したものです。

まずはコインが100枚になったら0にリセットさせる箇所からやってみます。
cats

Scoreのスクリプトを開いて、コイン取得のスクリプトに下記のスクリプトを追記します。
========
if( totalCoins == 100 ){
totalCoins -= 100;
========
宣言したtotalCoinsが100になると100引くという簡単な処理です。

続いてLIFEを増やす処理を記述してみます。
LIFEを増やすには7話で作成したDAMAGEのスクリプトに処理を加える必要があります。

========
var DAMAGE = GameObject.Find("DAMAGE");
DAMAGE.BroadcastMessage("outDAMAGE", SendMessageOptions.DontRequireReceiver);
========
内容は、DAMAGEオブジェクトのスクリプトを見て「outDAMAGE」の処理を実行するという感じです。

あとは「outDAMAGE」という処理をDAMAGE.jsに記述します。
========
function outDAMAGE () {
totalDAMAGE += 1;
PlayerPrefs.SetFloat("DAMAGE",totalDAMAGE);
transform.guiText.text = "LIFE: " + totalDAMAGE.ToString();
}
========
outDAMAGEを実行するとtotalDAMAGEに1足して、
PlayerPrefs(保存機能)のDAMAGEの数値をtotalDAMAGEに置き換えて画面に表示します!
みたいな感じです。

【操作方法】
左右移動(←,→)
ジャンプ(Space)


この記事を書いた人
 石田 哲也  AIDパートナー様担当
 canvas facebook
神奈川県出身。輸入事業で起業後、広告代理店~リワードアドネットワーク~アプリ開発事業を経てライヴエイドに参画。
このエントリーをはてなブックマークに追加

前回は3回落下するとゲームオーバーという処理を書きました。
今回はその続きで敵に当たってもカウントするような処理を実装してみます。

第8話 敵に当たったらカウントする

まずは、敵のスクリプトを探すところからはじめます。
cats

このProjectでは敵はEnemyという名前で作成されているので、
それらしいスクリプトを探します・・・ありました!
そこから敵に当たると処理が走る箇所を特定、下記のように記述されていました。

======
function OnTriggerEnter (other : Collider){
if(other.tag == "Player"){
var lvlName:String = Application.loadedLevelName;
Application.LoadLevel(lvlName);
}
}
======

これに前回作成したスクリプトを持ってきて、下記のように記述して見ました!

======
function OnTriggerEnter (other : Collider){
if(other.tag == "Player"){
var score = GameObject.Find("Deth");
score.BroadcastMessage("getDeth", SendMessageOptions.DontRequireReceiver);
{
var lvlName:String = Application.loadedLevelName;
Application.LoadLevel(lvlName);
}
}
}
======

基本的には前回作成したものと同じ動きをしてくれれば良いので、
躓かずに上手く動きました!

まだ色々と手を付けなきゃいけない箇所が多いですが、一応ゲームっぽくなってきたと思います!

【操作方法】
左右移動(←,→)
ジャンプ(Space)


次回はコインを100枚集めてLIFEが1upする機能を作っていきたいと思います。

この記事を書いた人
 石田 哲也  AIDパートナー様担当
 canvas facebook
神奈川県出身。輸入事業で起業後、広告代理店~リワードアドネットワーク~アプリ開発事業を経てライヴエイドに参画。
このエントリーをはてなブックマークに追加

前々回から前回に掛けて画像を差し替える作業を行ってきました。
今回はよりゲームらしく仕立てるために、3回死んだらゲームオーバーという機能を実装してみたいと思います。

第7話 条件による分岐(条件の修正)

現在の内容ではゲームオーバーという概念が無いので、ゲームオーバーの条件を付けたいと思います。

内容としては、
1.プレーヤーが死ぬ条件を修正
2.死んだ回数をカウント
3.カウントした回数にリミットを設け、リミットに達するとゲームオーバー画面に遷移

1から順にやってみます!

まずはプレイヤーが落下すると死ぬというところから
cats
現在はプレイヤーのY軸(縦)が設定値以下に遷移すると死ぬ設定です。

↓こんな感じでプレイヤーオブジェクトに書かれていた
==============
if(transform.position.y < fallLimit){ var lvlName:String = Application.loadedLevelName; Application.LoadLevel(lvlName); }
==============

スクリプトは全くの無知なので、なんとなく解釈すると、
もし(if)Y軸の位置が(transform.position.y)<(より小さい)fallLimit(Y軸の値)
ようするにプレイヤーのY軸が規定Y軸の位置より小さくなると、
シーンの最初に戻る。

みたいな感じだと思います。
※間違ってたらごめんなさいm(_ _)m

これを、上の画像のようにするには、
1.落下判定をするオブジェクトを設置
2.落下判定オブジェクトにスクリプトを記述
3.落下した回数をカウント
4.落下に回数制限を設けてゲームオーバー画面に遷移

cats
HierarchyのCreateタブからCubeを選択してオブジェクトを追加します。
オブジェクトの名前をわかりやすいものに変更します。
今回は「DeathZone」にしました。

cats
作成したDeathZoneを落下地点に設置します。
Cube(Mesh Fillter)の歯車をクリックして、RemoveConponentをクリックすると、オブジェクトの表示が消えるので消してみます。
そして、BOX ColliderのIS Triggerにチェックを入れます。
これは、スクリプトで当たり判定を取る際に必要な箇所です。
要するにこれに触れるとなにか処理するみたいな時はチェックを入れるみたいです。

続いて落下した際の処理をするスクリプトを記述します。
cats
DeathZoneを選択してInspectorのAdd Componentをクリック、NewScriptをクリックしてJavaScriptをDeathZoneに追加します。
JSの名前はDeathZoneにしました。

ここからはスクリプトを書かなければいけません!!
筆者は全くの無知ですので、一からスクリプトを書くのはいくら時間があっても足りません!!
というかブログの更新頻度が下がって怒られます><

なので、このプロジェクトで使用している他のJSをコピペで持ってきました^^;
筆者がCompleteProjectから作り始めた一番の理由です!!

やりたいこと
・DeathZoneにプレイヤーが触れると、シーンの最初に戻る
・DeathZoneに触れた回数をカウント

上記の処理に近いのが、このプロジェクトだとコインを取得する処理です。
なので、コインを取得するスクリプトを見てみます。

==============
function OnTriggerEnter(other : Collider){
if(other.tag == "Player")
{ var score = GameObject.Find("Score");
score.BroadcastMessage("getCoin", SendMessageOptions.DontRequireReceiver);
Destroy(gameObject);
}
}
==============

なんだかよくわからないですが、
プレイヤーがこのオブジェクトに触れるとコインをゲットしてスコアに数値が加算されてコインのオブジェクトは消えます。
みたいな感じだと思います!
※間違っていても責任は取りません><

これをそのままDeathZoneに置き換えて、消える処理を削除して・・・

==============
function OnTriggerEnter(other : Collider){
if(other.tag == "Player"){
var score = GameObject.Find("Deth");
score.BroadcastMessage("getDeth", SendMessageOptions.DontRequireReceiver);
{
var lvlName:String = Application.loadedLevelName;
Application.LoadLevel(lvlName);
}
}
}
==============

こんな感じにしてみました!
※Dethのスペルが違う(Death)のは突っ込まないで下さい( -_-)

プレイヤーがオブジェクトに触れるとDethをゲットしてDethに数値を加算してシーンの最初に戻ります。
みたいな感じだと思います。

続いて、カウンターを作成します。
これもほとんどコピペで作ります。
CoinのカウントはScoreという名前のGUIでカウントしているようなので、
GUIごとコピペします。
※GUIとはグラフィックユーザーインターフェース、つまりボタンや数値などのUIです。多分。

続いてGUIの名前を変更します。(Dethという名前にしました)
中にScoreというスクリプトが記述されているので、スクリプトもコピペして名前をDethに変更、
GUIに入っているスクリプトをScoreからDethに変更します。

このスクリプトに書かれているCoinsなど参照していそうな怪しい箇所を全てDethに置き換えて、カウントされるか確認してみます。
cats
出来ました!!ちょっと感動です!!!
※ここまでスムーズに進んでいるようですが、結構苦戦してます^^;

最後にDethカウントにリミットを設ける処理を追記しました。

==============
function OnGUI () {
if( totalDeth >=  3 )
{
Application.LoadLevel("Result");
}
}
==============

このGUIが3以上の数値になると、Result(ゲームオーバー)に遷移します。
みたいな感じです。
指定しているシーンのResultはとりあえず空のシーンを作ってみました。

今回はちょっと長くなってしまいました!

次回は敵に当たるとカウントする処理を実装したいと思います。


この記事を書いた人
 石田 哲也  AIDパートナー様担当
 canvas facebook
神奈川県出身。輸入事業で起業後、広告代理店~リワードアドネットワーク~アプリ開発事業を経てライヴエイドに参画。
このエントリーをはてなブックマークに追加

前回は主人公のキャラを変えてみました。
今回はマップなどのテクスチャを変えて見たいと思います!

第6話 マップのテクスチャを変えてみる

今回はマップのテクスチャを変えて見たいと思います。
みどりのじいさん
こんな感じの殺風景なデザインから・・・
マップ側替え
それっぽくなりました!!

画像の差し替えは前回の記事と同じ要領で、画像のオブジェクトを探して差し替える感じです。
すごく簡単ですが、見た目がかなり変わるので力を入れたいところですね!


次回は実際にスクリプトを弄って見たいと思います!


この記事を書いた人
 石田 哲也  AIDパートナー様担当
 canvas facebook
神奈川県出身。輸入事業で起業後、広告代理店~リワードアドネットワーク~アプリ開発事業を経てライヴエイドに参画。




aid_200

このページのトップヘ