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

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

v4開発途上版ダウンロード

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

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

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

次回は、そのへんの中間言語生成をいじって、数式が使える仕組みを目指したいと思っております。
それから、Poserもちびちびといじっております。
PR
申し訳ないんですが、この週末のアップは不可能な情勢です。
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);とか、そういうのを考えております。
この辺りができますと、いよいよ言語っぽくなってきて、シミュレーションを作る時には便利になるかなと。
レイヤーとメッセージレイヤーの、ソースの効率化は終わりました。
読みやすくなったので、MesHeadやIcon機能も追加できており、そのためマニュアルのメッセージレイヤーのページも作ることができました。
が、機能追加に伴い、ユーザーインターフェイス的な不具合がいろいろ出てきておりますので、週末までにそのへんの指揮系統の整理をやろうと思っております。

並行して、昨日からPoserをいじり始めております。
ぼちぼち女性キャラを作ろうかなと。
セリフ表示や、ルビや、顔グラなどのテストデータが必要になってきておりますので。
このブログは「ゲームを作るブログ」なんてタイトルをつけておりますが、ゲーム作りはプログラムの進行に振り回されっぱなしですな(笑)。

女性キャラは、私のPoser能力を考慮いたしまして、とりあえず三名で進めております。
そんなに作りわけができるほど、習熟しておりませんので。
近日中にご紹介できればなと思っております。
とりあえず公開です。
v4開発途上版ダウンロード

レイヤーとメッセージレイヤーのソース共通化を目論んでたんですが、その点がまだ中途です。というわけで、「とりあえず」。
案の定、メッセージレイヤーを作ったら、ソースがぐだぐだになってまいりまして(笑)、今週はレイヤー共々、実装の改善をいたします。
新マニュアルもアップいたしましたが、そういうわけで、メッセージレイヤー関連命令はまだ作っておりません。

なお、先日書いたテキスト描画エンジンの移植は、ルビの描画以外すべて終わっております。従いまして、スタイルシート風命令がすべて使えるようになりました。
ルビは、命令としては解釈し、メモリ上にも適切に配置されておりますが、まだ画面への描画がなされません。
ルビの描画は、v3ではかなり強引な実装になっております(笑)。スマートかつ高速になるよう作りたいのですが、妙案が浮かばない状況です。今少し考えるお時間をいただけたらと思います。

あと、新たなスタイルシート風命令として、border-color、border-widthが追加になっております。実装としては、&EzMesBorderの応用ですけれども、レイヤーでも同様に使えます。
それから、メッセージレイヤーにも、NewBoxなど、レイヤーと同等の命令を持たせつつあります。
これらにより、v4では&EzMesや&EzMesBorderが複合命令扱いになると同時に(実用上は変わりないですけど)、MesHeadもメモリ内で作成できるようになります。
前回の&Rndの流れで、*Player.〜や&Dialog命令を取り付けたのですが、テスト用にデフォルトの名前が必要ですな。
このところ夢中になってプログラムしてまいりましたが、少しゲーム作成モードに軸足を移す時期かもしれません。

というわけで、そろそろイベントとか作りたいなと思っておりまして、メッセージレイヤーの復活を目先の目標にしてます。
「テキストをそのまま書けば表示される」を、そろそろ使ってみたくて。
結局、やってることはプログラムなんですけどね(笑)。

手始めに&Layer.Text用を使って、v3からテキスト描画エンジンを移植してきました。
が、いろいろ問題がございまして、6〜7割ぐらい新たにコードを書き下ろす羽目に。
とはいえ、面倒な所はほぼコピペで済み(縦書きの座標計算とか)、一から作るよりははるかに早かったかなと。
週末のアップには、メッセージレイヤー自体は間に合わないかもしれませんが、&Layer.Textに関しては、スタイルシート風命令を始め、ほぼ復活ということで、お出しできるかと予想しております。

あと、v4用の命令マニュアルを作り始めました。
そろそろ私自身がどの命令を作ったのか、わからなくなりつつあるので。
これも次回の公開時に、併せてアップいたします。
構成が大きく変更になっておりますので、知ってる命令を探すのに苦労するかもしれませんが、より系統立てた配置になったと自負しております。
最新コメント
[06/07 みずき]
[12/21 Rocco Noble]
[11/05 f]
[03/02 Ming.]
[03/02 Ming.]
最新TB
忍者ブログ [PR]