投稿者「moku」のアーカイブ

moku について

iPhone, iPad & Android アプリを開発している mokuApps です。

[Unity, NGUI]:スクロールビューの基本

[検証バージョン]
Unity 5.1.2p2
NGUI 3.9.1

・基本的な考え方
ヒエラルキー上でスクロールビューの配下に配置されているUIをスクロールビューの範囲に限定して表示する。

スプライトがスクロールビュー配下にない場合

スプライトがスクロールビュー配下にない場合

スプライトがスクロールビュー配下にある場合

スプライトがスクロールビュー配下にある場合

またその名の通り、スクロールビュー配下に配置されたUIは、実行時にドラッグなどにより見える範囲を動かすことができる。

よくグリッドビューと組み合わせて紹介されることが多いが、グリッドビューはあくまで多数の項目を整列するだけのもので、スクロールビュー自体とは特に関係ない。

・作り方
UI Rootが存在する状態で、メニューバーから「NGUI」-「Create」-「Scroll View」を選択する。
作成されたScroll Viewの配下にUIを配置する。

ドラッグでスクロールさせたい場合は、配下のUIにコライダーとUIDragScrollViewを追加する。
コライダーの追加は目的のUIを選択した状態でメニューバーから「NGUI」-「Attach」-「Collider」とするのが簡単。
UIDragScrollViewの追加は目的のUIのインスペクタで「Add Component」-「NGUI」-「Interaction」-「Drag Scroll View」を選択。

スクロールビューのインスペクタでドラッグで動かせる方向などを指定できる。
スクロールビューのインスペクタ

Puzzle Mahjong

New sense Mahjong puzzle game!

PuzzleMahjong1 PuzzleMahjong2

Select 3 tiles from table with same suits & contiguous numbers(chow), or with exactly the same kind(pung).
After pung, select one more same tile, can make 4 tiles set(kong).

These (chow, pung and kong) are all called ‘set’.

Make ‘Yaku’ with 4 sets, and get score!

App Store Android app on Google Play

パズル麻雀

麻雀パイを使った新感覚パズルゲーム!

パズル麻雀1 パズル麻雀2

場から、同じ種類で数字の連続した3つの牌(順子)もしくは同一の牌を3つ(刻子)を選択して揃えます。
刻子の後にもう一個、同じ牌を選択すると、4個の組み(槓子)とすることが出来ます。

これらの牌の組み合わせ(順子・刻子・槓子)を合わせて面子と呼びます。

4つの面子で「役」を作ると得点となります。

App Store Android app on Google Play

[Unity, PlayMaker]:DontDestroyOnLoadの不具合

PlayMaker 1.7.8.2

アクションカテゴリ「Level」のアクション「DontDestroyOnLoad」で指定したGameObjectがシーンロード時に消えてしまいます。

DontDestroyOnLoadアクションのソースを見てみると…

// (c) Copyright HutongGames, LLC 2010-2013. All rights reserved.

using System.Collections;
using UnityEngine;

namespace HutongGames.PlayMaker.Actions
{
	[ActionCategory(ActionCategory.Level)]
	[Tooltip("Makes the Game Object not be destroyed automatically when loading a new scene.")]
	public class DontDestroyOnLoad : FsmStateAction
	{
		[RequiredField]
        [Tooltip("GameObject to mark as DontDestroyOnLoad.")]
		public FsmOwnerDefault gameObject;

		public override void Reset()
		{
			gameObject = null;
		}

		public override void OnEnter()
		{
			// Have to get the root, since the game object will be destroyed if any of its parents are destroyed.
			
			Object.DontDestroyOnLoad(Owner.transform.root.gameObject);

			Finish();
		}
	}
}

せっかく引数で指定したgameObjectが指定されていません。
代わりにこのアクションを実行しているFSMを持つGameObjectがDontDestroyOnLoadになっているようです。

25行目を以下のように変更します。

			if (gameObject != null) Object.DontDestroyOnLoad(gameObject.GameObject.Value);

[Unity]:Unity5対応でハマった点

Unity4.5.5で作成した「あ〜ちゃ〜の大冒険」をUnity5対応する時にハマった点。

Unityバージョン4.5.5f1 -> 5.0.0p2

・シーン全体が暗くなった
アンビエントライトのせい。
メニュー「Window」-「Lighting」を開き調整する。

Unity5-lighting

・NavMeshAgentの挙動がおかしい
具体的には、あ〜ちゃ〜が一度立ち止まると、その後、移動しなくなる。
従来はNavMeshAgent.Stop()後にSetDestination()で座標を設定すると動いていたのだが、Resume()を呼び出す必要がある。

[Unity, PlayMaker]:Androidビルドで勝手にパーミッションが追加される

検証バージョン:Unity 4.5.5f1, PlayMaker 1.7.7f6

PlayMakerをインポートしたプロジェクトをAndroid向けにビルドすると、以下の権限(パーミッション)が勝手に追加されます。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

Unity自体が、特定のAPIを使用した場合にビルド時に自動的に権限を追加する仕様になっています。
一旦Androidプロジェクトを吐き出してからビルドする場合は変更できますが、直接apkを書き出す場合は厄介です。

もし該当する機能を使っていないのならば、PlayMakerのアクションを記述してあるスクリプトファイルを最初に削除してしまえば済むことです。

・android.permission.INTERNET
/PlayMaker/Actions/Network フォルダごと削除

・android.permission.VIBRATE
/PlayMaker/Actions/DeviceVibrate.cs

・android.permission.ACCESS_FINE_LOCATION
/PlayMaker/Actions/GetLocationInfo.cs
/PlayMaker/Actions/StartLocationServiceUpdates.cs
/PlayMaker/Actions/StopLocationServiceUpdates.cs

・android.permission.WAKE_LOCK
/PlayMaker/Actions/DevicePlayFullScreenMovie.cs

[参考]:apkに付与されている権限を調べる方法
aaptというADT付属のツールで調べることが出来ます。
詳しくはこちらを参考にさせて頂きました。
Yukiの枝折 – 「apkからマニフェストの内容を読み取る方法」

ゆるあぷ!様に「あ〜ちゃ〜の大冒険」をレビューして頂きました!

Androidゲームアプリのレビューサイト「ゆるあぷ!」(http://android.yuruapp.com)様に、「あ〜ちゃ〜の大冒険」を取り上げて頂きました!

ゆるふわ天使「あ〜ちゃ〜の大冒険」をあそんでみた

プレイ感などをかなり詳しく、ゆるふわな素敵な感じでご紹介いただきまして、とても嬉しいです!
カメラの移動に関しては他のユーザ様からも要望がありまして、どのような仕様にするか検討中であります。
今後のアップデートで対応できればと考えております。

今後ともどうぞよろしくお願い致します!

アプリゲット様に「あ〜ちゃ〜の大冒険」をレビューして頂きました!

Android・iPhoneのスマホゲームの総合サイト「アプリゲット」(http://appget.com)様に、「あ〜ちゃ〜の大冒険」を取り上げて頂きました!

あ~ちゃ~の大冒険
天使の冒険をサポートするしよう!3D見守りRPG

ゲームの攻略方法まで深く掘り下げられたレビューに感激しております。
ご指摘の「平原フィールドでしか行動できないため冒険している感がない。」点に関しましては、現在のところ開発の技術不足のためすぐには改善できそうにございませんが、また別の形・別のアプリで楽しさをご提供していけたらと考えております。

今後ともどうぞよろしくお願い致します!

あ〜ちゃ〜の大冒険

3DグラフィックとAIでお贈りする新感覚の放置型RPG!!
可愛いあ〜ちゃ〜と一緒に冒険の旅に出よう!

Archu320x180jp

App Store Android app on Google Play

〜 弱虫で泣き虫のあ〜ちゃ〜。
「あたしもっと強くなりたい!」
あ〜ちゃ〜は修行の旅に出ることにしました。

そんな思いつきで始まった冒険の旅。
行く手にはいったい何が待ち受けているのか!? 〜

ArchuScreen1jp ArchuScreen5jp

あ〜ちゃ〜は自分で判断して戦ってくれます。
敵を倒すとポイントがたまるので、それを使って強化をしてあげましょう。

ArchuScreen2jp ArchuScreen3jp

さらに一定の条件を満たすと転生を行い、特殊な能力を手に入れることができます。

ArchuScreen4jp

・冒険のひんと
一、 HP最大値を強化するとHPが満タンに回復します。
すべてのポイントを強化に注ぎ込まずに、いざという時のために少しポイントを残しておくと良いでしょう。

二、 あなたが見守っていない時にもあ〜ちゃ〜は戦っています。
アプリを起動していない時でもポイントがたまります。
でも、あ〜ちゃ〜は寂しがり屋なので、あまり長い間会えないとお休みしてしまうみたいです。
なので、たまには様子を見に行ってあげるようにして下さいね!

三、 強い敵に囲まれちゃったら、
慌てずメニューを開いて、敵レベルを変えてみましょう。
不思議な世界なので、敵は追っかけては来ないみたいですよ。

四、 どうしてもピンチの時には…
HPが残り少ないのに回復するためのポイントが足りない!
あ〜ちゃ〜がうまく戦えてないみたい!
そんな時は慌てずにメニューを開いて、一度タイトル画面に戻ってみましょう。
冒険を中断してもペナルティーは何もありません。
落ち着いて体勢を立て直して、また冒険の旅に出発しましょう!

App Store Android app on Google Play

Archu’s Adventure

New sense automatic RPG presented with 3D graphics and AI!!
Let’s go to adventure with cute Archu!

Archu320x180en

App Store Android app on Google Play

〜 Archu the wimp and crybaby.
“I wanna be more stronger!”
Archu decided to go on a journey of training.

Adventure that began with such a whim.
What is awaiting in future!? 〜

ArchuScreen1en ArchuScreen5en

Archu fights by judging on her own.
When she defeats an enemy, points will be collected.
Let’s enhance abilities by using the points.

ArchuScreen2en ArchuScreen3en

Furthermore by meeting specific conditions, Archu can transmigrate and get special abilities.

ArchuScreen4en

·Adventure tips
1. HP will be restored to full, when you enchance the Max HP.
Without using all points into enhancement, it would be a good idea to leave a few points for an emergency.

2. Archu are fighting even when you are not watching.
Points will be collected even when you don’t launch this app.
You do not see Archu for long, and she would rest because gets lonely easily.
So please go to see Archu once in a while!

3. When Archu is surrounded by strong enemies,
Open the menu without panic, and change Enemy LV.
Because it is a strange world, enemies seem to not chase.

4. Absolutely when you are in a pinch…
“Points are not enough to recover, though HP is running low!”
“Archu seems to not be fighting well!”
If this happens, just open the menu without panic, and let’s once back to the title screen.
There is no penalty even interrupt the adventure.
Right the situation, and let’s start the adventure again!

App Store Android app on Google Play