・・AS3

SiONでハナウタ機能(音高検出)を作る

=前置き= バンブラで耳コピや作曲をやっていると「原曲を聴くorメロディを思いつく→ハナウタでその音を出す→ハナウタ機能で実際の音(音高)を見つける」という流れで作るのがラクなんだけど、バンブラPではハナウタ機能がなくなってしまったのでできなく…

アタリ用ツールver0.1(AndroidとFlash)をUP

=前置き= スマホ用格ゲーのグラフィックを作成するにあたり、ちゃんとサイズなどを一定にしたかったので、MMDのモデルを使ったアタリ用のツールを作ってみた。 =アプリ= ストアに上げるには完成度がアレなので、野良apkとしてUP。インストールするために…

2Dアクション・テンプレート:プレイヤーの作成

=概要= 「プレイヤーの作成」といっても、ここでやっていることは単純で、基本は「地形ブロック」をベースに「入力によって動く」という処理を追加しただけ。ただ、気をつけるべき点がいくつかあるので、ここではそれらについて書く。 =スリープのオフ= …

2Dアクション・テンプレート:GameObject

=GameObjectのコード= GameObjectのコードを先に載せておく。 package{ //mxml import mx.core.*; import mx.containers.*; import mx.controls.*; public class IGameObject extends Image{ //------------------ //Var //------------------ //==GameObj…

2Dアクション・テンプレート:地形ブロック対応

=前回までのあらすじ(更新があいたので)= 「Box2Dを使ったアクションゲームのテンプレートを作る」という目的のため、作業を続けてきた。 前回でようやく「物理エンジンの動作確認」まで行ったので、あとは グラフィックと物理エンジンの同期 物理エンジ…

2Dアクション・テンプレート:物理の対応:設定〜表示確認まで

前回の「こちらでやる作業」を行い、Box2Dの表示確認まで行う。 今回やるのは メートルとピクセルの対応付け Box2Dの初期化処理(セットアップ) コリジョンの大きさと形状の指定 の3つ。他の 「Box2Dの物体の位置」と「画像の位置」の同期 入力によるコリ…

2Dアクション・テンプレート:物理の対応:基礎の確認

物理エンジン「Box2D」を使うにあたり、「Box2Dで何ができるか」「アクションゲームにどのように使えるか」「こちらでやる作業は何か」についてまずは確認しておく。 =Box2Dで何ができるか= Box2Dは他の多くの物理エンジンと同様に、以下のことが行える。 …

2Dアクション・テンプレート:入力の対応(仮想化)

=仮想入力クラス= まずは、キーボードの入力やジョイスティックの入力を抽象化したものを用意する。 今回の2Dアクションで使うのは「左右移動」と「ジャンプ」だけなので、それらが「押されているか」をチェックできるようにしておけばいい。 コードは以下…

2Dアクション・テンプレート:入力の対応(基本)

=入力の取得方法= キーボードからの入力の取得だけであれば、以下のコードを追加することで確認できる。 入力関係のものをインクルードする //Input import flash.ui.Keyboard; import flash.events.KeyboardEvent; Initに入力関係の初期化を追加する {//I…

2Dアクション・テンプレート:画像の表示(特殊部分)

=画像用のクラス作成= 「画像」のクラスはすでにある(ImageとかBitmapとか)ので、「画像の生成・管理を行うマネージャ」のクラスだけ追加で用意する。 「画像の一元管理」のために、このクラスもSingletonのように扱えるようにしておく。しかし、特にイ…

2Dアクション・テンプレート:画像の表示(基本部分)

=画像表示の手順= 画像を表示するには、以下の手順を踏む。 画像の用意 「〜.png」のような画像を用意する 画像の読み込み AS3では、Embedを使うことで簡単に読み込める 画像の生成 こちらも簡単に生成できる 画像の描画登録 生成した画像を登録すれば描画…

2Dアクション・テンプレート:メインの作成

=作成順序= 作成するものは メイン プレイヤー 地面 画像 物理 入力 の6つ。 これらを、以下の順序で作成する。 メイン 全体を制御するので、まずはこれを作成 画像 確認するのが一番簡単なので、序盤で作成 入力 画像さえ表示できれば、それを動かすこと…

2Dアクション・テンプレート:基本仕様

=最低限の仕様= アクションゲームに最低限必要な要素として考えられるのは以下の二つ。 プレイヤー 地面 ということで、まずはこの二つだけを作成する。 =プレイヤーの仕様= プレイヤーに求められる要素は以下の通り。 プレイヤー用の画像を表示する グ…

2Dアクション・テンプレート:作成準備

まずは環境の設定から。 AS3が使えるようにセットアップ ActionScript 3.0メモを参考に、Flex 3 SDKを入れる。すでにある程度開発に慣れてる人向け(パス通しとかコマンドラインとかは知ってる前提)なので、初心者の場合は第1回 無料でFlash作りに挑戦!Fle…

忍者エディタ:擬似公開可能?

=状況= 引数からのステージ処理は完了。そのためのswfも上げ終わったけど、エディタの方を更新するの忘れてた。一応、下のエディタでもできるようにはしておく。 =公開方法= 使うのはこのswf。コピーしてどこかに上げなおすもよし、このURLに直で指定す…

忍者エディタ調べ物中

=状況= 「そういえば、Flashに引数が渡せれば擬似的にステージ公開ができるのではないか」と調べてたら、ちょうどFlash/AS3で辞書、起動引数: 万象酔歩で書かれていたことでなんとかなりそう。 ちょっと「エクスポート」まわりをいじったり、ステージ単体…

忍者エディタ休憩中

=状況= 入れたい機能は一通り入れたので、再びステージの試作中。「ステージ幅を変更した後、メイン画面にフォーカスを移さないと大変なことになる」とかの問題があるので対応したいところだけど。 そろそろGAEの方の作業を開始予定。来週からかも。

忍者エディタ作成中(β4)

=状況= インポート・エクスポート機能に対応中。 エクスポートは、ただ単にマップの配列を見て文字にすればいいだけなので終了。 インポートも今回は文字→パネルの1対1変換なのでそんなに難しくはないはず。 →さっそくできたので上げ。 =swf= 右下のテ…

忍者エディタ作成中(β3)

=状況= ことのほか「コピー&ペースト」の対応が早くできたので上げ。ついでに「範囲選択してる状態でボタンを押すと、範囲を全部それで塗りつぶす」という処理も加えた。 何故か「Ctrl+C」が上手くいかない(Ctrlを押すとイベントが飛んでこない?)ので…

忍者エディタ作成中(β2)

=状況= 以下の対応を行った。 「Enter」で「エディット」と「プレイ」をいつでも切り替えられるようにした カーソルが最初から表示されるようにした これで、キーボードから離れずにステージエディットができるようになった。 あとは「インポート・エクス…

忍者エディタ作成中(β1)

=状況= 以下のバグを取り除いた。ひとまずβ1として上げておく。 トゲの表示が消えてない(バグ) ロードした時のプレイヤー位置がおかしい(バグ) 上書きセーブでサムネイルの表示が更新されなかった(バグ) あと、コードを上げていないことに気付いた…

忍者エディタ:改善案のメモ

=状況= ひとまず、適当にステージを作っていって、ここに改善案などをメモしていくことにする。優先度の高いものは今週中に対応開始。 =優先度:高= キーボードだけで「エディット」と「プレイ」を切り替えたい パネル数などの初期設定などはマウスもや…

忍者エディタ作成中(α3)

=状況= セーブ&ロードに対応。サムネイルは別に「マップのパネル数がビットマップのビット数より多い場合と少ない場合」で分ける必要はなかった。 まだ「エディット画面以外(ボタン)にフォーカスが移っていて、SPACEを押すと間違ってセーブされたりロー…

忍者エディタ作成中

=状況= 今日中に上げたかったけどムリだった。TileListに動的にBitmapを表示するだけで、40分ほど費やした。単純な「addChild」ではダメで、dataProviderに「{label:"", icon:m_Image}」の配列をセットしてもダメ。 結局、「dataProviderに{label:"data"…

忍者エディタ作成中

=状況= セーブ&ロード機能の対応中。「mx:TileList」とか、色々と使えそうなコンポーネントを見つけたので、前回より良い出来になる。と良いなー。 あと、直接は関係ないんだけど、今回セーブする必要があるのは「パネルの配列」だけなので、色々な方法で…

忍者エディタ作成中(α2)

=状況= 幅の設定に対応。これで、基本的な機能は揃った。ということでα2としておく。あとは表示や操作の問題などを解決していく。 →セーブ&ロードがまだだった。こっちが先だ。 現状の動作だと、「幅指定」→「カーソルによる配置」をしようとすると、幅…

忍者エディタ作成中(α1)

=状況= カーソルに合わせて画面を動かすところまで完了。あとは、地形の幅を指定できるようになればOKか。 と思ったけど、現状でも試すのは可能か。ということで、お茶を濁すネタもちょうど尽きてたので、「α1」として埋め込んでみる。(まだフロアの幅の…

忍者エディタ作成中

=状況= フォーカスまわりの制御が上手くいかないので、ボタンを押すたびに focusManager.setFocus(main_panel); focusManager.deactivate();という感じで「フォーカスを当てる」&「フォーカスを無効化」という風にした。美しくないのでちゃんと書きたいが…

忍者エディタ作成中

=状況= 今日中にいじれるレベルに行ければと思っていたものの、「フォーカスがメイン画面に当たらない(SPACEでジャンプしようとすると関係ないボタンが押される)」「プレイヤーが動いてる時はカーソルを非表示にする」など、わりとやることが多くて今日…

忍者エディタ作成中

=状況= カーソルによるパネルの配置処理の実装中。今週中には「セーブはできないけど配置して動かせる」くらいまでは行きたいところだけど、残り2時間では難しいか。