2015-08-30

ActionBar で Android アプリのメニューを作成

前回作成したボール転がしゲームにメニューを追加してゲームのリトライ処理ができるように変更します。

ActionBar の表示


メニューを表示するために ActionBar が表示されるように MainActivity のコードを変更します。前回までは以下の一文で ActionBar を表示しないようにしていました。
requestWindowFeature(Window.FEATURE_NO_TITLE);
これを以下に書き換えます。
requestWindowFeature(Window.FEATURE_ACTION_BAR);
(※ この部分は削除しても ActionBar は表示されましたが、念のためコードには記述しておきます。)

ActionBar が表示されるようになりました。しかし ActionBar の高さの分だけゲーム画面が下にずれてしまっているため、ボールがゲーム画面外へと消えてしまいました。


2015-08-12

Android Studio で実機のスクリーンショットを撮影

Android 4.0 以降の実機であれば [電源] ボタンと [音量下げる] ボタンを同時に押せばスクリーンショットが簡単に撮影できます。そのため本記事の需要は少ないかもしれませんが、際どいタイミングのスクリーンショットが必要な場合には有用と思いますので Android Studio を使って実機のスクリーンショットを取得する方法を紹介します。

Device Screen Capture でスクリーンショットを撮影


実機のスクリーンショットを撮影するには、Android Studio のツールに含まれる Device Screen Capture を使います。以下に手順を記載します。
  1. Android Studio を起動
  2. [ツール] → [Android] → [Android Device Monitor] をクリックし Android Device Monitor を起動
  3. PC と実機を USB ケーブルで接続
    (このとき、実機側の [USB デバッグ] の設定を ON にしておく必要があります。こちらを参考に実機側の設定をしておきます。)
  4. 接続した実機を選択し、左上の小さなアイコンの並びにあるカメラのアイコンをクリック
    (アイコンにマウスの矢印を乗せると Screen Capture と説明が出ます)

2015-08-09

Android Studio でボール転がしゲームの作成

前回は加速度センサを使うことでユーザによるボールの操作が可能になりました。最初に比べると随分ゲームっぽさが増しましたが、ボールを転がしているだけではゲームとは言えません。今回はボールを転がす目標(ゴール)を作りゲームらしく仕上げていきます。

Hole クラスの作成


ボールのゴールとなるホールを作成します。要するに玉を転がして穴に落とそうというゲームです。Hole クラスは前回作成した Ball クラスとほぼ同じです。画面内での位置と半径を示すメンバ変数を持っています。
  • "Hole.java"
public class Hole extends View{
    int x, y, r;
    Paint p;

    public Hole(Context context){
        super(context);
        x = y = 0;
        r = 40;
        p = new Paint();
        p.setColor(Color.BLACK);
        p.setStyle(Paint.Style.FILL);
        p.setAntiAlias(true);
    }
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawCircle(x, y, r, p);
    }
}

2015-08-06

加速度センサーを使った Android アプリの作成

関連記事


前回作成したアニメーションを使った Android アプリはボールの動きをユーザが操作できるものではありませんでした。今回は加速度センサーを使ってスマートフォンを傾けた方向にボールが転がるようなアプリを作成します。

縦画面固定にする


初めに、スマートフォンを傾けたときに自動で画面が縦横切替してしまわないように縦画面固定の設定をします。縦画面の固定には以下の一文を "AndroidManifest.xml" に追記します。
activity android:screenOrientation="portrait"
※ 横画面固定の場合は "portrait" の部分を "landscape" に変更します。
  • "AndroidManifest.xml" を以下の通り書き換え(赤字の部分を追記)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=
    "http://schemas.android.com/apk/res/android"
    package="com.example.ball" >
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name=
                    "android.intent.action.MAIN" />
                <category android:name=
                    "android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

2015-08-02

Android Studio 1.3 へのアップデート

関連記事


先日 Android Studio 1.3 の安定版がリリースされたので、インストール済みの Android Studio をアップデートしました。このアップデートには C++ による開発のサポートが含まれているそうです。詳しくは以下に記載があります。

アップデート手順


それでは早速 Android Studio のアップデート手順を説明します。
  1. Android Studio を起動し [Configure] → [Check for Update] をクリック
  2. [Update and Restart] をクリック