久々にアプリレビュー

久々にやっててイライラしたゲームに出会ったので書きなぐり。
あまりにもイライラしたのでもうアプリ消してしまったが故、スクリーンショットなるものはない。

Tokyo 7th シスターズ(AppStoreに飛びます)

な~にがイライラするって何か全部。
チュートリアル自体あるのは全然構わないのだが、
根幹のシステムがだるすぎてチュートリアルがだるくなってくる。

  • スキップ
    出来るのは良いのですが、毎回毎回スキップしても良いですか?的なメッセージが出てくるのやめてください。
    スキップボタン押すのですら2ステップ踏んでるのにさらに1ステップ踏ませるとかスキップじゃなくなってる。
  • スカウト
    無駄な演出が多いせいで、とにかくテンポ悪い。
    ソシャゲやってたユーザー視点だからかもしれないけど、全然進めない。

    他のプレイヤーと遭遇した?っぽい演出あるんだけど、連打してたらスルーしたことになってる。
    (挨拶すると何に使えるかわからないけどポイントが貰える。)
    遭遇したら挨拶ボタンか友だち申請以外を押すとスルーされる。

  • ソロライブ
    全くタイミングわかんない。
    同じ曲5回ぐらいやったけど分かんない。
    難易度が高いとタップ回数が増えるので「 何 と な く 」リズムが分かる程度になってくるが、
    難易度低いとそれがないので全くタイミングが掴めない。
    タイミングが掴めないのでタイミング遅れて押した時に、次の判定と重なってると両方Badになる。
    ロングタップのリリースイベントがワンテンポ遅いのでリズム通りに離したらBadになる。

この辺でイライラが最高潮になったのでアプリ消しました。

Mac+Xamarin.iOS+Win8(Parallels)+VS2013Proで4インチ実行

Visual StudioからXamarin.iOSをビルドして実行する場合、
Xamarin.iOS Build Hostを利用するのが一般的だと思いますが、
Xamarin.iOSの不具合で4インチ端末でも3.5インチで実行されてしまう不具合があり、
現状以下のようにして回避しています。

・ParallelsのWindowsとMacの共有フォルダにプロジェクトを配置
・コード入力はVisual Studio、リソース追加はMac側Xamarin Studio
・Mac側のXamarin Studioでビルドと実行

リソースの追加をMac側のXSでやる理由は、VSに追加するとXSに適用されず画像がない事になるのを避けるためです。
これ、普通やらない方法だと思うので、デバッガーの接続に1/2〜2/3ぐらいで失敗します。(アプリが起動しない)

めんどくさい…

【WP】らくがきを更新申請しました。

Splash480-800

1年弱ぶりの更新でしょうか?
今回の更新では以下の機能が追加されます。

・PictureHubから画像を指定した起動
・カメラの横撮影に対応
・画像の移動、拡縮、回転に対応

拡縮に対応することによって細かいらくがきが可能になりました。

例えば猫が写っている写真にらくがきをしましょう。

続きを読む

Windows Phone 8.1の対応解像度

「Windows Phone 8.1」、エミュレーターの動作映像や各種変更点などが明らかに

上記サイトでWindows Phone 8.1での対応解像度が追加されていることが書かれています。

「Windows Phone 8.1」では新たに960×540ピクセルと2560×1440ピクセルの画面解像度がサポートされ、下限も800×480ピクセルから640×360ピクセルへと引き下げられています。

これにより対応解像度は以下の様になります。
640×360、800×480、960×540、1280×720、1280×768、1920×1080、2560×1440
解像度は増えましたが、追加された縦横比率はすべて16:9です。
既存の800×480、1280×768のみ縦横比5:3(15:9)ですので、配置をピクセル単位で指定しなければ問題なさそうです。

ListViewでsmoothScrollByを使う

ListViewのonScrollStateChangedでsmoothScrollByしたらAndroid 2.3.x(RAM512MB)でStackOverFlowが発生する状態になりハマったのでメモ


listview.setOnTouchListener(new ListView.OnTouchListener(){
	@Override
	public boolean onTouch(View arg0, MotionEvent event) {
		switch (event.getAction() & MotionEvent.ACTION_MASK) {
		case MotionEvent.ACTION_MOVE:
			isTouch = true;
			break;
		}
		return false;
	}
});

listview.setOnScrollListener(new ListView.OnScrollListener() {
	@Override
	public void onScrollStateChanged(AbsListView view, int scrollState) {
		switch (scrollState) {
		case OnScrollListener.SCROLL_STATE_IDLE:
			if(isTouch)
			{
				//listview.smoothScrollBy(distance, duration);//ここでsmoothScrollするとStackOverFlowする
				mSmoothScrollHandler.removeCallbacks(doSmoothScroll);
				mSmoothScrollHandler.post(doSmoothScroll);
				isTouch = false;
				break;
			}
		}
	}

	private Runnable doSmoothScroll = new Runnable() {
		@Override
		public void run() {
			listview.smoothScrollBy(distance, duration);
		}
	};
}