Android」タグアーカイブ

Puzzle Poker

新感覚のポーカーパズルゲーム!
カードを選んでポーカーの役を作って高得点をめざそう!!

PuzzlePoker1

・遊び方
1.4枚の手札からカードを1枚ずつ選び場に出していきます。
手札は自動的に補充されます。

2.場に並んだカードでポーカーの役ができれば得点です。
場には最大5枚のカードが並び、5枚を越える分は最初に出したカードから順に捨てられます。

ジョーカーを除く全52枚のカードを使って、いくつの役を作れるかチャレンジしてみましょう!

・役の種類と点数
1.Royal Flush(ロイヤル・ストレート・フラッシュ) – 10,000点
2.Straight Flush(ストレート・フラッシュ) – 8,000点
3.Four of a Kind(フォー・カード) – 5,000点
4.Full House(フル・ハウス) – 3,000点
5.Flush(フラッシュ) – 2,000点
6.Straight(ストレート) – 1,000点
7.Three of a Kind(スリー・カード) – 500点
8.Two Pair(ツー・ペア) – 300点
9.One Pair(ワン・ペア) – 100点

・高得点のコツ
1.場に出たカードは5枚を越えて押し出されるまでは場に残り続けます。
例えば同じ数字のカード2枚を連続して出せば、場から押し出されるまで最低で4回のワン・ペアを獲得できます。

2.手札の4枚以外に次に手札に補充されるカードが1枚だけ「NEXT」として画面下に表示されています。
先を見越した戦略を考えてみましょう。

Moku

Moku
Puzzle Poker
★★★★★
5件の評価
App Store

moku Apps

moku Apps
PuzzlePoker

にゃんこといっしょ♪

にゃんこといっしょ♪
にゃんこと仲良くなって鳴き声を集めよう!

にゃんこといっしょ♪#1
1.にゃんこにタッチしてみよう!にゃおんがもらえるよ!
にゃんこをタッチした時にもらえるにゃおんは、アイテムを購入・強化すると増えるよ!

にゃんこといっしょ♪#2
2.アイテムを購入してみよう!
自動的ににゃおんが貯まるようになるよ!
アイテムは買う度に値段が高くなっていくよ!

にゃんこといっしょ♪#3
3.アイテムをレベルアップしよう!
もっとにゃおんが貯まるようになるよ!

にゃんこといっしょ♪#4
4.たまに落ちてくるボールを取るとにゃおん大量ゲットのチャンス!
ボールの効果はアイテムをたくさん持っていると、より強力になるよ!

にゃんこといっしょ♪#5
5.新しいアイテムが買いにくくなってきたら、一度「メニュー」ボタンから「リセット」をしてみよう!
リセットをするとリセットボーナスがもらえるよ!

Moku

Moku
にゃんこといっしょ
☆☆☆☆☆
0件の評価
App Store

moku Apps

moku Apps
にゃんこといっしょ♪

Unity NEWSにKick Far Away!!が掲載されました!

ユニティ・テクノロジー・ジャパン様のホームページで、Unity3D使用タイトルを紹介しているUnity NEWSのコーナーにKick Far Away!!を掲載して戴きました。

Android / iOS 向け Unity タイトル『Kick Far Away!!』配信開始

Moku

Moku
Kick Far Away!!
☆☆☆☆☆
0件の評価
App Store

moku Apps

moku Apps
Kick Far Away!!

[Android] Kick Far Away!! Android版をリリース

iPhone & iPad用アプリとしてリリースしている「Kick Far Away!!」のAndroid版をリリースしました。

タップ操作だけでボールを遠くに飛ばすゲームです。

KickFarAway!!-ゲーム画面

KickFarAway!!-ゲーム画面

KickFarAway!!-結果画面

KickFarAway!!-結果画面

プレイする度にキック力が強くなり、遠くにボールを飛ばせるようになります。
iPhone&iPad版でご要望のあった、キック力の上限突破に関してはAndroid版での先行リリースとなります!

moku Apps

moku Apps
Kick Far Away!!

[Unity]:ドラッグ&ピンチイン・ピンチアウトの入力コントロール

先日リリースした「まちがい探し3D」では、少し特殊な入力インターフェースを利用しています。

Moku

Moku
まちがい探し3D
★★★★☆
28件の評価
App Store

  • ドラッグで視点の移動
  • ピンチイン・ピンチアウトで視点の縮小・拡大
  • タップでオブジェクトの選択

これらの入力をコントロールするためのスクリプトを公開します。

using UnityEngine;
using System.Collections;

public class CameraController : MonoBehaviour {
	const float ROTATION_SPEED =  5.0f;
	const float ZOOM_SPEED = 200.0f;
	
	private Vector3 original;
	private float angle_x = 0.0f;
	private float angle_y = 0.0f;
	
	private bool isDragging = false;
	private bool isDragged = false;
	private bool isPinched = false;
	private float interval = 0.0f;

	// Use this for initialization
	void Start () {
		Vector3 angles = transform.eulerAngles;
		angle_x = angles.y;
		angle_y = angles.x;
		original = transform.position;
	}
	
	void OnGUI() {
		if (Input.touchCount == 1 && !isPinched) {
			if (Event.current.type == EventType.MouseDrag) {
				isDragging = true;
				isDragged = true;
			} else {
				isDragging = false;
				if (Event.current.type == EventType.MouseUp) {
					if (!isDragged) Tap(Input.mousePosition);
					else isDragged = false;
				}
			}
		} else if (Input.touchCount == 0) {
			isPinched = false;
		}
	}
	
	void Update () {
		if (Input.touchCount == 2) {
			if (Input.touches[0].phase == TouchPhase.Began || Input.touches[1].phase == TouchPhase.Began) {
				interval = Vector2.Distance(Input.touches[0].position, Input.touches[1].position);
			}
			float tmpInterval = Vector2.Distance(Input.touches[0].position, Input.touches[1].position);
			original.z += (tmpInterval - interval) / ZOOM_SPEED;
			if (original.z > 0) original.z = 0;
			interval = tmpInterval;

			transform.position = transform.rotation * original;
			isPinched = true;
		} else if (isDragging) {
			angle_x += Input.GetAxis("Mouse X") * ROTATION_SPEED;
	        angle_y -= Input.GetAxis("Mouse Y") * ROTATION_SPEED;
	        
	        transform.rotation = Quaternion.Euler(angle_y, angle_x, 0);
	        transform.position = transform.rotation * original;
		}
	}
	
	private void Tap(Vector3 point) {
		// タップ時の処理を記述
	}
}

若干、難解なコードになってしまっていますが、元々ドラッグのみを実現するスクリプトにタップとピンチイン・ピンチアウトを無理くり付け足したため、このような状態になってしまいました。
OnGUI()を使わずにUpdate()でまとめて書き直した方がスッキリするでしょう。

画面にタッチされた時に触れた点が2カ所ならピンチイン・アウトの開始として、その2点間の距離をintervalに保持しておくと同時にisPinchedフラグを立てておきます。
このisPinchedフラグは、指が離れる時に指1本だけが残り不正なドラッグ・タップが起こらないよう判定するためのもので、タッチが検出されなくなると寝かせるようにしています。
ピンチイン・アウト中は前回のintervalと比較計算しズームイン・アウトの処理を行います。

触れた点が1カ所の場合、Event.current.type == EventType.MouseDragによりドラッグ中であると判定されたらisDraggingとisDraggedフラグを立てます。
isDraggingフラグが立っている場合には回転の処理を行います。
originalに初期位置、angle_x, angle_yに初期位置での向きを保持しており、ドラッグによりangle_*を変更し、その角度に基づき位置を計算します。
原点を中心に回転し、常に原点の方を向く事になります。

指が離れた場合にはisDraggedフラグが寝ていればタップの処理を行います。
つまりタップに関しては指が離れた時点での処理ということになりますが、ドラッグも実現するために選択の余地はありませんでした。

[Android]:アプリから画像付きのツイートをする

AndroidアプリからIntentを使って、各種SNSに画像付きでシェアする実装例です。
一部の機種でしか動作確認できておらず、不完全であることをご了承下さい。

public void share(final Activity activity, final String text, final String path) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_TEXT, text);
    if (path != null) intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + path));

    try {
        activity.startActivity(intent);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(activity, "Client not found.", Toast.LENGTH_LONG).show();
    }
}

“text/plain”の内容を開く事ができるアプリの一覧が表示され、選択することにより各アプリにテキスト・画像がプリセットされた状態で開きます。

Intent一覧  Intent-Twitter  Intent-Facebook

ただしFacebookに関しては、仕様によりURLしかシェアできません。
またGmailに関しては、送信画面では画像が添付されているように見えますが、
実際に送信するとメールに画像は添付されません。

Gmailで画像が添付されるようにするには以下のように実装します。

public void share(final Activity activity, final String text, final String path) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_TEXT, text);

    try {
        String filepath = Images.Media.insertImage(activity.getContentResolver(), path, "screenshot.png", null);
        intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(filepath));

        activity.startActivity(intent);
    } catch (FileNotFoundException e1) {
        e1.printStackTrace();
    } catch (ActivityNotFoundException e) {
        Toast.makeText(activity, "Client not found.", Toast.LENGTH_LONG).show();
    }
}

ただし、こうすると画像のコピーが作成され、明示的に削除をしない限りストレージに残り続けてしまいます。

Androidネイティブの開発に関しては全くの無知な私に、正しい実装法をご教授下さる方、お待ちしております!

Kick Far Away!!

タップ操作だけでボールを遠くに飛ばすゲームです。
プレイする度にキック力が強くなり、遠くにボールを飛ばせるようになります。

サッカーボールを遠くに蹴飛ばそう!
ゲームセンター対応で、世界中のライバル達と飛距離を競えるぞ!

遠くへ飛ばすコツ
1.真ん中を蹴る
端の方を蹴るとボールにしっかり力が伝わらないぞ!

2.早く蹴る
助走が終わってボールがズームアップになったらすぐに蹴ることができる。
助走の流れで蹴った方が飛距離が伸びるぞ!

3.繰り返しプレイ
プレイする度にキック力が増加して、遠くにボールを蹴れるようになるぞ!

Moku

Moku
Kick Far Away!!
☆☆☆☆☆
0件の評価
App Store

moku Apps

moku Apps
Kick Far Away!!

 
1 2 3 4 5

[Andoroid] たのたん – たのしいたんご遊び ver.1.20 アップデート配信

たのたん – たのしいたんご遊び Android版のアップデートをリリースしました。

・新たに英単語の問題が遊べるようになりました!
・日本語の問題を10問追加しました。

moku Apps

moku Apps
たのしい たんご遊び