Home

くだらないページ

〒(郵便マーク)Standing

第8回あほげー参加です。

〒Standing〒Standingで遊ぶ

遊び方

〒(郵便マーク)を落として立たせたら成功です。

〒をクリックして落として下さい。その時にマウスを動かしていると回転します。

謝辞

音素材:On-Jin ~音人~

第7回あほげー参加作はこちら

2013年元日

2012年賀

2013年 あけましておめでとうございます。

今年もくだらないゲームを作れたらと思います。

よろしくお願いします。

ジャム入りケーキは食べないで

あほげー参加です。

ジャム入りケーキは食べないでで遊ぶ

遊び方

ジャム入りケーキは危険なので、食べないで下さい。

ケーキをクリックすると食べることが出来ます。
一つだけジャム入りのケーキが混じっていますので、それ以外のケーキを選んで食べて下さい。

謝辞

音素材:On-Jin ~音人~

Splashtop

Nexus7を購入して色々遊んでますが、リモートデスクトップのSplashtop2 HDがローカル内だと無料でアクセス出来るので試しにインストールしてみました。調子が良ければGamePad THDの方を買ってもいいかも知れないと思っています。

所が、ローカル内にあるPCがローカルと認識されません。有料のAnywhere Access Packを購入しろと出て来ます。

少し悩みましたが、やっと解決。

どうやらIPで判断しているようですが何かが原因でローカルと判定出来ていないようです。

PCのIPは192.168.1.1で固定にしていましたが、Android側はDHCPで192.168.0.2になっていました。そこでAndroid側もIPを固定してしまう事にしました。

IP設定を静的に、IPアドレスを任意に、ゲートウェイをルーターに、そしてココが肝ですがネットワークプレフィックス長を16にします。私の環境ではIPの3バイト目は0か1なので23でも十分ですが。 デフォルトだとネットワークプレフィックス長が24ビットで3バイト目をマスクして、認識されなかった感じなのでしょうか?

DNSの例で入っている「8.8.8.8」はGoogleのDNSですが、「4.4.4.4」もあるのでしょうか?調べても「8.8.4.4」しか出ないのですが。

Splashtopはマルチモニタ環境でも表示するモニタを選択出来るので結構いいですね。

AIRの必要システム構成とiOSのバージョン

AIR for iOSとiOSのバージョン

最近になって気がついたのですが、AIRのバージョンが3.1になってからAIR for iOSの必要システム構成がiOS4.2以降になりました。日本語のリリースノートですと3.1ではiOS4以降なので混乱しますが、3.2では日本語のリリースノートでもiOS4.2以降になっています。

ところが、パッケージング後のipaファイルを展開してInfo.plistを見ると

<key>MinimumOSVersion</key>
<string>4.0</string>

となっています。なぜ必要システム構成を4.2以降にしたのに4.0のままなのかは分かりませんが少し気になります。

AIR3.3からMinimumOSVersionをアプリケーション記述ファイルのInfoAdditionsエレメントに使えるようになったので、気になる場合は4.2にした方がいいのかも知れません。

3DSの修理

オンライン修理受付

修理発送キット7月下旬に3DSのスライドパッドが故障しました。そこでオンライン修理受付を試してみました。

気がかりは、サービスセンターのお盆休みですが、まだ2週間以上あるので何とかなると判断。直接宅配で送っても良いのですが、オンライン修理受付では修理発送キットと言う箱を送ってくれるので、どんなものだか見たかった事もあり修理発送キットを待つ事にしました。

申し込み時に修理費用の見積が指定金額より超える場合連絡が来るようです。それ以下なら連絡せずに修理をしてもらえます。スライドパッドの修理費用がサイトに記載されていないのですが、十字ボタン等入力デバイスの費用からすると、その程度だと判断したので、5000円で指定をしました。

発送

7/28(土) オンライン修理受付
8/1(水) 修理発送キット到着
8/2(木) 発送
8/7(火) 受付処理
8/10(金) 見積り報告

見積金額が5000円より下でしたが、なぜか見積りが来ました。見積が来る事はほとんど無いと踏んでいたので、気が付くのが2日遅れました。サイト上で修理可否をチェックしないと、処理が進まないようです。

8/21(火) サービスセンターから発送
8/22(水) 到着

修理完了

10日の時点で、返答をしても土日を挟んでお盆休み(13~17日)、さらに土日を過ぎないと修理が始まらないので積んでいましたね。

ちなみに、修理発送キットはそのまま返送にも使われていました。

見積りは3500円でしたが、代引で1500円でした。部品代は0円で技術料のみだったのです。見積りに手違いがあったので、減額するとの事でした。

3ヶ月以内に同一の故障が発生した場合は、無償で修理してもらえるそうです。

AmanojaQ

第8回ParaFla!感謝祭

AmanojaQAmanojaQで遊ぶ

遊び方

募集:さかさま職人
資格:4才~200才迄の男女、経験不問
時間:60秒、休憩あり
休日:完全週休7日

ミニゲームを60秒間でクリアしまくり、得点を競うゲームです。

ミニゲームのお題に「何をするか」が表示されるので指示に従いますが、赤い字で書かれた箇所は反対にして考えなくてはなりません。
りんごを取れ → りんごじゃないものを取れ
逆立ちをしろ  → 逆立ちをするな

「あまのじゃく」になって、ひねくれて下さい。

タイトル

PLAYボタンで説明が表示された後に、ゲームが始まります。
Rankingボタンで現在のランキングを表示します。

ステージ

ミニゲームのタイトルとお題が表示されます。 あまのじゃくになってゲームをしてください。クリアの仕方は、それぞれのミニゲームによって違いますが。マウスだけで遊べます。基本的に、お題の赤い字を反対にして答えを出すクイズと考えてください。

ミニゲームは10秒からカウントダウンして、0秒になったら不正解になります。間違った答えを選んでしまっても不正解です。

正解を選ぶと時間の残りと時間の横にある倍率を掛けた値がスコアに加わります。不正解の場合は、その値がスコアから引かれます。

ゲーム全体の残り時間からも同時にカウントダウンして0秒になったらゲームオーバーです。

ミニゲームをクリアした時に 残り時間の小数点以下は切り捨てられます。したがって、1秒以下でクリアしても1秒掛かったと見なされます。

ゲームオーバー

ゲームオーバー画面のENDボタンでタイトル画面に戻ります。TweetボタンでスコアをTwitterにツイートできます。
Runkingボタンでスコアをランキングに登録できます。

ランキング

ランキング画面ではランキングの閲覧とゲームオーバー時のスコアをランキングに登録します。

Name欄にスコアネームをアルファベットとかな文字等で入力します(入力できない文字は使用できません)。

Sendボタンで送信します。

参加メンバー

  • Akkii:システム・ミニゲーム・サウンド(SE)
  • コロいぬ:ミニゲーム
  • 1031:サウンド(BGM)

AIR for Androidとマッシュルーム

マッシュルーム

マッシュルームはAndroidを日本語ロケールで使用しているならば、結構身近な機能だと思います。

ただ、AIR for Androidではマッシュルームが使用出来ません。ソフトキーボードからマッシュルームを呼び出すとAIRがEvent.DEACTIVATEを発火してTextFieldからフォーカスを外すのが原因だとは思いますが。
再びアプリがアクティブになってもその時点でフォーカスが外れているので受け取れないと言う事じゃ無いかと。

AIR SDKの開発側が日本語を使わないので問題を全く認識出来てないのでは無いかと思います。
それでも、マッシュルームからの入力が出来ないだけで済んでいます。

GPU

しかし、renderModeをGPUにした場合問題が大きくなります。

マッシュルームから戻ってきた時に画面更新が止まってしまうのです。端末によりますが、マッシュルームに遷移する前の画面のままか、真っ黒な画面になってしまうのです。

ホームへ戻ってから再びアプリに戻ってくると普通に動いているので、AIR側の問題だと思われます。

強制的に画面更新をさせる方法を色々と模索したのですが、画面回転を自動にしていた時に回転した拍子に画面更新が戻ることに気が付き、画面を回転させてすぐに戻すと言う方法を試したのです。

private function onActivate(e:Event):void{
    stage.orientation = StageOrientation.ROTATED_RIGHT;
    stage.orientation = StageOrientation.DEFAULT;
}

こんな感じでしょうか。

しかし、Stage.orientationに値を入れても反応が悪かったりする事もあったり、画面回転自体が見えたりしてあまりスマートとは言えません。

ガッカリ感の中、ふと閃きました。

stage.quality = StageQuality.MEDIUM;//一旦変えてから
stage.quality = StageQuality.LOW;//元の設定に戻す

これで意図した通りになりました。
何とも単純ですが、効果はあります。

AIR for Androidのスリープ

WakeLock

AIR for Androidでスリープを抑制する場合、パーミッションに

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

を指定するようにAdobeのドキュメントに書かれています。

その上で、

NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE;

を実行するとスリープが抑制されます。このままではバックグラウンドへ回ってもスリープが抑制されたままですので、Event.DEACTIVATEのタイミングでSystemIdleMode.NORMALへ、Event.ACTIVATEで再びSystemIdleMode.KEEP_AWAKEにします。

追記:一度SystemIdleMode.KEEP_AWAKEにしてしまうと、SystemIdleMode.NORMALを指定してもアクティブ時にスリープしないようです。バックグラウンド時のみスリープします。

追記2:Flex SDK4.6+AIR SDK3.3です。

と、ここまですると希望通りにスリープを抑制出来ますが、電源ボタンを押してサスペンドさせると、復帰時にキーロック画面が出ません。
DISABLE_KEYGUARDはキーロック解除のパーミッションなので、内部でキーロックを無効化しているのかもしれません。

<!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />-->
<uses-permission android:name="android.permission.WAKE_LOCK" />

とりあえずコメントアウトして実行してみます。
そうすると、スリープ抑制しつつ、サスペンドから復帰時にキーロック画面が出ます。
しかし、バックグラウンドに回ってもスリープが抑制されたままです。もちろん、先ほどのコードのままですので、 SystemIdleMode.NORMALになっています。

一度も SystemIdleMode.KEEP_AWAKEを指定しない場合は、スリープしています。一度でも指定するとSystemIdleMode.NORMALを指定しても戻せなくなるようです。

ちょっと、どうすればいいか分かりません。

スリープ抑制をするならキーロックを諦めるか、バックグラウンドに回ってもスリープ抑制するか、スリープ抑制自体を諦めるしかないようです。

AIR for iOSのAsset

外部swf

AIRのモバイルデバイスで、シーンに必要な画像をまとめた外部swfを読み込む対応をしたのですが、Androidならリンケージで問題無いのですが、iOSだと外部プログラム扱いになって禁止だとか。

そんな中、FlashのライブラリにあるビットマップファイルをMC化するjsflを書いて、無事iOSでも外部swfを読み込める様になったのですが、結局MCをBitmapData.draw()しているので遅い。数個程度なら問題ありませんが、数百個だと遅さが気になります。

そこで、Androidのコードを試しに動かしてみました。

動いて喜んでいたのですが、サクッとチェックするためにdebug-interpreterでパッケージすると動く事に気が付きました。

大人しくMC化していろという事でした。

 

おまけ

Loader.load()で外部swfを読み込む時にASのあるファイルはcontextを指定した方がいいよ。と言う記事をどこかで読んだ気がしたので、指定していたのですが、指定しなくても問題ありませんでした。AIRだからでしょうか?パッケージ内のファイルなら同じドメインだからですね。その後、要らないよと言う記事も読んだ気がします。

指定した時にcontextを毎度インスタンス化しないように保持していたのですが、そのせいか外部swfが廃棄出来ずに悩みました。

検索
Feed
アーカイブ
Meta

Return to page top