とある日の妄想

- FLASH -

何気ない日常にふと思いついた世迷言をつづるブログ

 

rss-feedRSSフィード

■携帯版はこちら
http://blog.toaruhi.net/m/

携帯サイトQRコード

ブログ内検索

キーワード

 

※検索エンジンで検索した情報が見当たらない場合にご利用ください。

新着記事

カテゴリ一覧

外部リンク

創作物の規制/単純所持規制に反対する請願署名市民有志

作者について

全28件中11〜20件を表示
2007年08月02日(木)
続・FreeHand MX
FLASH
何だかんだ言って使ってると慣れてくるw
開発終了したとはいっても、買い替えは不要だな。
パスの結合や分割の仕組みを理解したら一気に描きやすくなった。

基本的にはイラレと同じという記述をネットで発見したので、
とりあえずイラレの本で評判がいいやつを買ってみた。


基本的なところから始まって、一つのイラストやロゴを仕上げる過程を、
丁寧に解説している印象で、amazonのレビューでも高評価。
これでしばらく練習しつつ、ゲームを作ってみようっと。

このログのカテゴリがFLASHでいいのかは謎w


タグ:

コメント(0) トラックバック(0)
2007年08月01日(水)
哀愁のFreeHand MX
FLASH
STUDIO MX 2004を買ったのが3年前。
このブログの記録によると2004年5月17日頃届いたようだ
(こういう確認をするときブログって便利だ)。

ほぼFLASHだけのために買ったんだけど、FLASHのペンツールが
なんか妙に使いにくくて、最近は付属のFreeHandを利用しようとしている。

しかし、こいつも妙に使いにくい。
しかも、Macromediaが買収されて過去のソフトと化してるしw

で、Illustrator CS3にうpグレしたいなーと思ったんだけど。
STUDIOに含まれてるバージョンはうpグレ対象外とかでうんこ。
単品で買うと8万オーバー…しかもOSX10.4.8しかサポートしてないw

それだったら新Mac買って、STUDIOをCreative Suite 3 Web Premiumに
うpグレするというのがベストになってきてしまう。

すんげー金かかるんだけどwwww

まぁ、我慢1択だな〜。
ここまで金かかるとなると。

FreeHandの使い方サイトも本もないのが痛いわ。
イラレは腐るほどあるのに。


タグ:

コメント(0) トラックバック(0)
2007年07月22日(日)
ぶたプチ
FLASH
ブラウザゲームにFLASHゲーをうp

やっとFLASHでそれなりのゲームが一本できた。
ミニゲームだけど、いろいろ苦労したなー。

ブタのダンスがおきにいりw
ぜひぜひお暇つぶしにご利用ください。

タグ:

コメント(0) トラックバック(0)
2007年07月18日(水)
FLASH(14) attachMovie
FLASH
attachMovieについて。

※MC=ムービークリップ

シンボルから新しいMCインスタンスを作る関数。

深度は正の値を設定するが、オーサリング時に配置した
全てのMCの深度は負の値のため、_root.attachMovieを
使ってMCを作成すると全てのオブジェクトよりも
前面に表示されてしまい、不都合になることがある。

この場合は、適当な下層レイヤーに空白のMCを配置、
(サイズはステージに合わせておけばよさげ)
この空白MCにattachMovieを実行すれば、オーサリング時に
上位に表示されていたオブジェクトより下に新しいMCが表示される。


座標変換メモ。
入れ子になったMCの座標をグローバル座標で定義する感じ。


this.stop();

function getGlobalPoint(point, x, y) {

point.x = 0;
point.y = 0;
_root.bg1["test"]["ball"].localToGlobal(point);

point.x = x - point.x;
point.y = y - point.y;

}

var point = new Object();

_root.bg1.attachMovie("test1", "test", 1);
getGlobalPoint(point, 200, 200);

_root.bg1["test"]._x = point.x;
_root.bg1["test"]._y = point.y;
_root.bg1["test"]._name = "test1";

コメント(0) トラックバック(0)
2007年03月21日(水)
Flash練習(13) SharedObject
FLASH
データの保存に使うオブジェクト。
これ結構便利だね。


var so = SharedObject.getLocal("test1");
so.data.value1 = 100
so.data.value2 = 200;

if (!so.flush()) {
 trace("失敗");
} else {
 trace("成功");
}


JavaScriptではすごく苦労してた部分だからなぁ。
Cookieとか4KBまでしか保存できないし。
一応ユーザ設定で容量が変化するらしいけど、
こんなとこそうそういじらないでしょ(適当)。

最初まちがえて so = new SharedObject.getLocal("test1");
とか書いてて全然動かなかったとかw
エラーだしてくださいよぉー。

コメント(0) トラックバック(0)
2007年03月19日(月)
FLASH練習(12) ADVエンジン基盤
FLASH
だいたいできたw
まぁ適当。

ADVスクリプト実験

実際にはこんな感じのスクリプトをFLASHで解析して実行してみてる。

test.txt

ここからどんな風に発展させていこうかな?

ゲームデータのセーブロードはローカル共有オブジェクトってのを
使えばうまくできそうだ。
データを隠蔽したい場合はCGIを使ってWebに保存したほうがいいかも。

コメント(0) トラックバック(0)
2007年03月16日(金)
FLASH練習(11) LoadVarsオブジェクト
FLASH
ADVエンジンをActionScriptで実装すべくコーディング開始。
シナリオをスクリプト化して、ActionScriptで解析して実行する。
AS内にテキストいっぱい書く作り方とかすると、だるいしデバッグ大変だし。
ASはクラスは外部ファイルに定義しなくちゃいけないんだね。

シナリオスクリプトはLoadVarsオブジェクトを使って読み込むことにした。
変数を読み込むためのオブジェクトらしく、外部テキストに定義した変数を
インスタンス変数として読み込めるようだ。
本来は、CGIとかとのやり取りを想定したものなんだろうな。


でも俺がここでやりたいのは、単純に外部ファイルのテキストを読み込むこと。
その場合は、LoadVarsオブジェクトの、onDataハンドラを使えばいい。
読み込みが完了すると呼び出され、成功なら引数にデータが入る。

(例1)

function readFile(fpath) {


  var lv = new LoadVars();

  // 読み込み完了時の処理を定義
  lv.onData = function (str) {

    if (str != undefined) {
  
      trace(str);

    } else {

      trace("error: no data");

    }
  
  }

  
  lv.load(fpath);

}


で、今回は、クラスADVSystemの中でLoadVarsオブジェクトを生成し、
onDataハンドラ内でシナリオスクリプトを解析して、解析完了後に
シナリオ開始メソッドを呼び出す、という動作をさせようとした。

ここでちょっとしたつまずきが。

クラス内で生成したLoadVarsインスタンスのonDataハンドラ内では、
thisがLoadVarsインスタンスをさしてしまう。
そのため、AdvSystemのメソッドやインスタンス変数に通常の方法では
アクセスできなくなってしまったのだ。

(例2)

var adv = new ADVSystem();

adv.readFile("test.txt");

-------------------------------------------------

class ADVSystem {
  
  // 適当な変数(プロパティ)
  var testData;
  
  // 適当なメソッド
  function test() {

    trace("読み込み結果:" + this.testData);

  }

  function readFile(fpath) {

    
    var lv = new LoadVars();
    
    lv.onData = function (str) {

      if (str != undefined) {
        
        // thisはADVSystemではなくlvをさしている!
        this.testData = str;
        // 当然メソッドも呼び出せない。
        this.test();
      
      }
    }

    lv.load(fpath);

  }
}


_parent.testDataなどとしてもうまくいかないようだ。
いろいろ調べたところ、次のような解決策があった。
    
(例3)


var adv = new ADVSystem();

adv.readFile("test.txt");

-------------------------------------------------

class ADVSystem {
  
  // 適当な変数(プロパティ)
  var testData;
  
  // 適当なメソッド
  function test() {

    trace("読み込み結果:" + this.testData);

  }

  function readFile(fpath) {

    
    var lv = new LoadVars();

    // オブジェクトをlvのプロパティに追加
    lv.advsys = this;
    
    lv.onData = function (str) {

      if (str != undefined) {
        
        // 変数にアクセス可能
        this.advsys.testData = str;
        // メソッドも呼び出せる。
        this.advsys.test();
      
      }
    }

    lv.load(fpath);

  }
}



とりあえずこれで、onDataイベント処理でテキスト解析ができるようになった。
ActionScriptってプロパティやメソッドの扱いが柔軟なんだね。

柔軟すぎて困るときもあるけど。
メソッド名ミスタイプしててもエラーにならなかったりとか…。


解析は結構大変だ。
ActionScript(2.0)は文字列処理がかなり弱い。
trimも、正規表現も、文字列置換すらない。
きびしー…けどまぁ、substringとかindexOfでなんとかしてみた。

ADVエンジンは、ちょっと前進。
でもJavaScriptのときもそうだったけど、エンジンよりシナリオ作らないとな…。
あと絵も。

プログラムはほんと、どうにでもなるんだよね。

コメント(2) トラックバック(0)
2007年03月10日(土)
FLASH練習(10) ADV口パク
FLASH
全体を細かくムービークリップに分けて管理するようにした。
そして、アクションスクリプトを記述する専用のレイヤーを
各タイムラインに作成し、フレームスクリプトは必ずそこに
書くというルールでコーディング。

すこしコードの見通しがよくなったかな。

前回の、

同じタイムラインを2回呼び出すとムービークリップが再生しない

というのはどうもそういう仕様のようだった。
いったん別のキーフレームを経由すれば、何度で再生できると判明。

今回は、ADVによくある「口パク」のアニメーション演出をつけてみた。
口の部分を切り取ってムービークリップ化し、再生する。
位置あわせに苦労した…なんかいい方法ないのかな。

ADV実験 口パクを追加

コメント(0) トラックバック(0)
2007年03月08日(木)
FLASH練習(9) ムービークリップその2
FLASH
ムービークリップは独自のタイムラインを持つのだけど、
メインタイムラインで呼び出した場合は、stop()で止めるか、
同じ長さのフレームを用意しないと、キーフレームが変わって、
思ったように再生できないことがわかった。

なので、ActionScriptでムービークリップ切り替えをするときは、
gotoAndStop("フレーム名")を利用するといい感じだった。

このとき呼び出したムービークリップは、自動でループ再生される。
問題は1回再生したらそこで止まるようにしたいとき。
とりあえず、ムービークリップの最終フレームにstop()を記述したら
1回だけ再生するようになったんだけど、同じムービークリップを貼った
タイムラインに2回目以降ジャンプしたとき再生しなくなってしまう。

いまここでハマリ中。
なんでや〜。

コメント(0) トラックバック(0)
2007年03月07日(水)
FLASH練習(8) ADV基盤
FLASH
昨日夜遅くまで昔自分がHyperCardで作ったゲームを遊んでた。
変なとこに凝ってて、完全に完成していないながらも面白かったとか自画自賛。
OSXで動くHyperCardで何か作って、Web用にパブリッシュできたら楽しいのにな。
このゲームはなんとかFLASHで移植をしてみたいものだ。

FLASH用のアドベンチャーゲームの基盤を作る実験をしている。

・テキストを表示する
・背景やキャラクターを表示する
・選択肢(コマンド)を入力し、それによって分岐が発生する。

このあたりが基盤かと。

ADV基本パターン

課題は

・分岐するテキストをどうやって管理するか

 専用スクリプト化した外部テキストを読み込むのがいいんだろうけど。
 正規表現がないから複雑なテキスト処理は苦手そうだな。
 フラグ管理とか、場面変更とかでいまいちいいアイディアが浮かばない。
 場面ごとにテキストを用意して、場面ごとにシーンを用意するとか?
 シーン間のデータ受け渡しはどうやるんだろう。

・独自性のあるADV

 まぁこれだけじゃ、ありきたり過ぎるってのもある。
 もっと緊迫感のあるADVにしたい。
 ノベルゲーみたいな話中心なのに対して、ゲーム性の高いADV。
 話や、キャラクタの魅力みたいなのを中心にしすぎない。
 そういう方向に持っていきたい。
 ノベルゲーとか、ゲームじゃないと思うんだけどw

ちょっとづつ詰めていくしかないな。
シナリオも考えつつ。

コメント(0) トラックバック(0)


Dragon Quest 6

龍が如く4

FF13

THIS IS IT

ときめきメモリアル4

鉄拳6