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

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

新年あけましておめでとうございます。
本年もどうぞよろしくお願い申し上げます。

v4の途中経過ですが、すでに組み込み関数は数式と入れ子に対応しております。
例えば、以下のように書くことができます。
$var = Trim( Mid( $foo + $var, %hoge + 5, 1 ) );
もうなんだかわかりませんが、とにかくプログラム言語に近い書き方ができるようになってきたかと思います。

今、音声機能をつけておりまして、たぶんこの週末のうちにできまして、そこで公開いたします。
現時点で、音声の操作は命令でできるようになり、イコライザーがつきました。
が、苦労しそうな環境設定と、セーブロードが、全く手をつけておらぬ状態です。

先ほど、何点かバグフィクスしたv3を公開いたしましたが、実はこれにもイコライザーをつけられないかなーと思い、この冬休み中はやっておったわけです。が、無理そうなんで諦めました(笑)。

組み込み関数は、昨年末の段階では、入れ子にするには再帰的な仕組みを作らなきゃならないと想定してて、実は頭を抱えておりました。
コンパイラだけでなく、コアまで大幅な書き換えになり、下手したら1月いっぱいかかるかなと。
ところが、2日の夕方に天啓が降って参りまして、入れ子も数式も、現行にちょっとした工夫を加えるだけでできることに気づきました。

元日に家で少し時間があったので、今年は氏神様に初詣をしてきたんですが、行ってみるものですな。
私は毎年、崇敬神社には行っておるのですが、氏神様はあまり行った事がなかったんです。
正月でもご神職がいないぐらいの小さなお社なので、イベントとしての初詣的な要素(お守りを買ったりおみくじを引いたり)がなく、ついつい足が遠のきがちで。
初詣の翌日に、まさに天啓というか、笑っちゃうぐらい簡単確実な方法がひらめいたのは、氏神様のお力でありましょうか。
v4が正式版になりましたら、お礼参りをしてくるつもりです。
PR
昨晩、バグ確認ツールをアップしました。
アップしてる途中で寝てしまったので(笑)、本日付でのご紹介と相成りました。
開発途上版ダウンロードページの、一番下にございます。
v4開発途上版ダウンロード

今回は、いわゆる構文解析器というやつでございまして、皆さんがお書きになるテキストファイル/命令を解釈する部署であります。
Famous Writerのコンパイラが正しく解釈してないんじゃない? という事例がございましたら、これらのソフトでご確認いただき、結果を教えていただければ、すぐに対処いたします。
なお、LineLexerはv4になってからの書き下ろしですが、RPNLexerは多少の拡張はあるものの、基本的にはv3と変わりありません。

明日から冬休みですが、年末年始で何かと入り用もございますので、プログラムに割ける時間は普段と変わらないかと思います。
次回は、組み込み関数の中に数式が使えたり、入れ子にできるようにしようと思っております。
他にも考えていることがあり、コアとコンパイラを大きく書き直すつもりですので、来年早々の公開となる予定です。

来年もよろしくお願いいたします。
皆さま、良いお年を。
v4開発途上版ダウンロード

メッセージレイヤーは結局、あまり美しくない方法で実装しました(笑)。
中間言語はそれなりに綺麗になって、コアが何をやってるかはわかるようになったんですが、そこから実行エンジンに投げた後のソースが読みたくない感じで。
一応、v3で教えていただいたバグは取れてるかと思いますが、不具合がございましたらお知らせいただけると助かります。

あと、先日書いたとおり、メニューとメニューボタンの書き方が大幅に変わりましたので、命令マニュアルをご参照ください。
エイリアスのつけようがなかったんで、申し訳ないんですが、全て書き換えになります。
その代わり、いろいろ柔軟性が高くなって、特にボタンはレイヤーと同じような命令が増えました。
今後メニューまわりの命令は、この方向で拡張してゆくことになるかと思います。

それから、念願の組み込み関数がつきました。
$hoge = Left( $source, 2 );
とか使えます。詳しくはマニュアルをご参照下さい。組み込み関数で1ページ割いてます。
Left/Right/Mid/Hexは、例によってほぼREALbasic丸投げなんですが(笑)、その他は自前で書いております。
従って、かなり自信がないんで、不具合がございましたら教えてください。
なお、組み込み関数は今のところ、()内は入れ子にできなかったり、()内で数式が使えなかったりします。

次回は、そのへんの中間言語生成をいじって、数式が使える仕組みを目指したいと思っております。
それから、Poserもちびちびといじっております。
申し訳ないんですが、この週末のアップは不可能な情勢です。
MesHeadを「使わない」時の【】内の描画がまだできておらず、どう考えても今日中に終わらないので。

メッセージレイヤーの部品が出揃ってきたことで、&Menu.Button.AutoVisibleとの絡みをやってたんです。
で、ついでにメニュー命令の記述方法を変更したりしてたら、ドツボにはまりました。
その点は終わったんですが、それだけで時間いっぱいになり、【】に手をつけられなかった、という顛末です。

メニュー命令は、今まで&Menu.LoadScenarioとか書いていただいておりましたが、&Menu(Load).Scenarioとかに変更いたします。
こうすると、
&Menu(Load).Scenario = load.txt;
&Menu(Load).Enabled = no;
&Menu(Load).Button.Set = load.bmp;
&Menu(Load).Button.Pos = 20, 285;
と、非常に見やすく書く事ができるようになります。
具体例は、次回dataフォルダを公開する時に見ていただければと。

これにより、プログラム的には、構文解析器が()を解釈できるようになったのが大きな進歩です(とはいえ数行の加筆ですけど - 笑)。
v4からの「取得可能プロパティ」の仕組みと併せて、組み込み関数を作るのに再利用しようと思っております。
具体的には、$foo = Mid($str,1,5);とか、そういうのを考えております。
この辺りができますと、いよいよ言語っぽくなってきて、シミュレーションを作る時には便利になるかなと。
というわけで、すでに私のパソコン上では、何点か立ち絵を作っております。
その手順をご説明申し上げます。

Poserでレンダリングした画像は、File→Export→Image...していただき、PICTで書き出します。
この時、PICTで書き出して下さい。αチャンネルがついてまいりますので、Famous Writer用のマスクの素として利用できます。
αチャンネルからFamous Writer用のマスクを作るには、拙作のTIPSをご覧いただければ幸いです。

三行で終わってしまいましたが(笑)、以上の通りです。
慣れればものの数分でございますので、トライしていただければと思います。
出来上がったものについては、また後日dataをアップいたしますので、そちらでご確認ください。
<< 前のページ 次のページ >>
最新コメント
[06/07 みずき]
[12/21 Rocco Noble]
[11/05 f]
[03/02 Ming.]
[03/02 Ming.]
最新TB
忍者ブログ [PR]