忍者ブログ
ゲームを作りながらFamous Writerを開発するブログ
[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

本日は午後から急遽出かけることになったので、昨日申し上げたコンパイラの整理のみ、執り行いました。
1024*768の画面に収まるようになり、一安心です。
あと、マウスの入力を処理するクラス・メソッドだけ用意しておきました。
REALbasicのマウスイベントを、Famous Writerで扱いやすいメソッドに振り分けるところまでで、まだメソッドの中身は空です。

というところで、連休前半戦はおしまいです。
3日からの後半戦は、予定が詰まっておりますので、ここまでの時間が取れません。
時間がある前半戦のうちに、DAZを探検しつつPoserもいじりたかったんですけど、プログラムだけで終わってしまいました。
PR
画像重ね合わせのソース整理は、思ったほどはかどらず。
メソッドをいくつか消すことができるかなと想定しておりましたが、ほぼ異動だけという感じでした。

その後、作り忘れておりましたアンカーを作りました。
おととい申し上げましたとおり、JmpやCallの仕組みはボタンに必要ですから。
これも面倒くさそうだったので、後回しになっておったものです(笑)。
出来てみると、なんかv4と比べてえらくソースが短いのが気になりますが、動作もしているし、論理的にも間違っていないはずなので、よしとしておきます。

それから、コンパイラが組み込み関数を解釈できるようにいたしました。
ボタンは、内部でIDを生成して変数に入れておくことにより、そのIDを呼び出すことで、いつでもいじることができるようにしたいのです。
ちょうどレイヤーの、Layer.Noみたいな感じですな。

例えば、最初の方で、
  %button1 = NewButton( /button.bmp );
と書いてボタンを生成した後、どこか任意の場所で、
  Button.No = %button1;
  Button.Visible = True;
みたいな事ができるようにしたいのです。

覚えていただくと、飛躍的に自由度が高いボタンになりますが、私としては後方互換も容易なのがポイントです。
例えば、v3の選択ボタンは「IDの生成と消去をFamous Writerが自動でやるボタン」として実装できます。
メニューボタンは、各メニューボタンにIDを記憶しておくだけで済みます。
そんなことを考えております。できるかわかりませんが。

で、アンカーと組み込み関数のついでに、コンパイラのコード整理を中途半端な所までやって、本日は時間いっぱいです。
何でもかんでもコンパイラクラスに突っ込んでたら、いつのまにかメソッドが1024*768の画面に収まらなくなってました。
バイトコードの生成を別クラスにできそうな感じに設計変更を始めましたので、明日はその続きをやります。
Compiler Class
音声の再生・停止・フェードと、クリック待ちのカーソルを作りました。
また、初めてOS Xでも動かしてみて、問題なさそうです(相変わらずOS 9で開発しております)。
…実は、ボタンが面倒なので、楽な方へと逃げてます(笑)。

もっとも、これで時間軸が必要なものは、だいぶ出揃ってまいりましたけれどもね。
あとはウエイト関係を残すのみでしょうか。
…という言い訳で、自分を納得させております(笑)。

明日は、画面重ね合わせのソースを整理したいと思います。
カーソルを作ったことで、まとまりそうな部分が出てまいりましたので。

本日は久々に、丸一日プログラムに費やすことができました。
やはりプログラムは面白いと再認識いたしましたが、それなりに疲れますな。
これからおいしいお酒を飲んで、ぐっすり眠ることができそうです。
今やってるテストプロジェクトでは、ソース上に直接フォルダ・ファイル名を書いておりました。
これが、Poserで作ったテストデータが増えるにつれ面倒になりまして、簡単な構文解析器を搭載いたしました。
err = LoadFunction( "/a/1.jpg, /a/2.jpg, /a/3.jpg, /a/4.jpg" )
と書けるのは非常に楽だなと、改めて感じた次第です(ダブルクォーテーションで囲まれた部分ね)。

あとボタンの前に、サブルーチンの仕組みが必要になりますので、簡単なコンパイラ・仮想CPUまで作成いたしました。
コンパイラが出来ると、変数や演算子も作りたくなり、結局全部やってしまいました。

これらを搭載したことにより、v4どうしようかなーと思っております。
今回のプロジェクトは、テストのつもりがそれなりの規模になってまいりましたので、これをv4と合体するか、v4を部品取り機状態にするか、判断に悩むところです。
それから、やっぱりC++の経験が大きく、v4に比べて洗練されたプログラムにもなっておりますので。
ちょっとボタンを作ってみないとわかりませんから、まだ結論を出すには早いのですけれども、私の頭の中ではそんな考えもあります。

明日から連休ですけれど、前半は時間がございますから、もろもろ頑張ってみます。
新しいFWEffectSequenceクラスと、オフスクリーンの仕組みは、画像のメモリ管理という範囲ですが、v3と同等の所まで出来ました。
画面効果は、フェード(Drawの700番台)しか作っておりませんが、残りはコードのコピペで済みますから、もう少し落ち着いたらやります。

結局、メモリの使用量は変わらずで、速度のみ進展がございます。
速度に関しては、状況によってはコピーせずダイレクトにウインドウへ描画し、それが無い時に改めてコピーして保持するようにいたしました。
あと、QuickDraw APIのSectRect()みたいなことが出来るようにもなっておりますので、将来これもチューニングして、描画範囲を狭めて高速化を図ろうと思っております。
今までに比べると、全般的にインテリジェントになっておりますので、すでにv3との合体は絶望的かな…。
この後ボタンを作って、重ね合わせが必要なものを全て揃え、描画まわりの仕様を固めたいと思います。

Poserもちまちまといじっておりますが、Aikoが腕を振り下ろすとか、足を上げるとか、3分クッキングのノリで単純なものばかり作っております。
文字通りテストデータ作成というレベルでしか触っておりませんで、ゲーム作りの再開はもう少し先になるでしょうか。
腰を据えて、顔作りとかやってみたいんですがね。プログラムが気になって、それどころではない段階です。
<< 前のページ 次のページ >>
最新コメント
[06/07 みずき]
[12/21 Rocco Noble]
[11/05 f]
[03/02 Ming.]
[03/02 Ming.]
最新TB
忍者ブログ [PR]