ラノベ日記

ラノベの感想用

http://ikinako.hp.infoseek.co.jp/ags/
↑cgi-bin外では動作しないうえに、cgi-bin内への直リンは禁止ときてる

ようやくシナリオの編集に対応しました。
と言っても、制御構文すらない簡易版ですが……

前回の更新から2週間、酷く遅れてしまいました。
風邪→卒論→シナリオ→引越し→現在→新入社員研修
とまぁ、開発に遅れが出たのはこのあたりです。
そのうえ、来月の新入社員研修はどこかの研修施設で3週間缶詰
にして、昼夜詰め込みって強行スケジュールって連絡がきたし……
今月中が勝負です。

#それとiswebの鯖がひどいです。
なんか、perlのバージョンが5.6だとか……
勘弁してください。
perlの論理文字列で処理してた場所、全部作り直しです。

シナリオ作業がとりあえず区切りついたので
システム開発を再開します。

で、シナリオ書いてたこともあり、グラフィック周り
は保留して、シナリオ関連部分を作ります。

データ形式がXMLってのは当初からきまったました。
でも、よく考えれば人間が直接書くわけじゃないんですよね……
書くのは平文テキストのシナリオソースファイル。
読み込ませるのはXMLデータ……
はい、コンバータが必要です。
で、やっぱりいつもの問題。
文法どうしよう?

今回のシステムはコンセプトとして、単純明快ってのが
あるので、プログラミング機能がショボイことは確実なのですが
逆に想像もできません。

どんな文法が使いやすいのか?
ギャルゲシステムにとって永遠の命題ですね。

シナリオ文法どうしよう

データファイルがXMLっていうのは当初から決まってました……
だけど人間があれ書くの……きついんですよ
ってなわけで。
シナリオソースファイル→シナリオデータファイル
を変換するためのコンバータが必要に……
で、いつもの問題。
シナリオ文法どうしよう?
複雑なのにすると、また以前の二の舞になりそうだし

開発に遅れが出てます……大変です
というか、当サークルには絵師、プログラマしかいないため
シナリオができません。
で、いつも分担して書こうって話になるわけで……
やはり今回も分担です。
作業すること数日、ようやく完成しました。
と言ってもプレイ時間で15分くらいなんですけどね。

てかシナリオやってないで、システム開発を再開しないと
こっちが間に合わなくないか?

http://ikinako.hp.infoseek.co.jp/ags/ags070228/ags070228.html

以前に作っておいたテキスト枠を統合しました。
それに伴い微調整。

onclick → onmouseup
マウスの設定の問題ですが、onclickイベントはクリック間隔によっては
発生しません。(ondblclickが代わりに発生?)

テキスト枠の背景を
背景色 → 独立のimg
代わりにTLクラスに位置、サイズ設定メソッドを作ってアクセスする
形式に、関数で背景imgの位置を同時に設定します。


またも問題が発覚。

システムをこのブログ内で使おうとしたところ……
livedoorブログにはXMLファイルをアップロードする機能が無い!?

てことは、どうすれば……
yahooとかのブログパーツみたいにcgiでスクリプト吐き出すように
してその中にXMLデータ埋め込むしか無いのか?
google mapとかどうやってるんだろ?

2
未だ風邪回復せず、
というか、花粉症なんじゃね?とか思えてきた、のでカラオケ行ってきた。

http://ikinako.hp.infoseek.co.jp/ags/ags070227/ags070227.html
↑システム070227、先週は風邪が酷くてまともに更新できなかった…

まぁ、一晩考え整理して透過表示の実装をバグなのか
仕様なのかチェック!


結果!
AlphaImageLoaderがトランジッション中に透過できないわけじゃない
背景(color,image共)の上に重ねた場合トランジッション中も問題無い
透過できないのは画像と重ねた場合

というわけで、画面上要素を背景も含めてimgで管理してたのを
背景画像のみbackground-image使うように変更

現在の実装では立ち絵の重ね合わせはできませんが、当面問題ないかと
思います。

風邪が治りません……
寝てるわけにも行かないので、学校で今日も磁石作り

まぁ、んなことはどうでもいいので、JavaScriptギャルゲーですよ
PNGの透過表示ができない……
日本ではPNG自体がエロゲによって普及したとも言われてるのに……
まさかIE6で表示できないとは!

怪しげなプラグインを使うのはどうか? そもそも計画の趣旨に反します
プラグイン使うなら、FLASHエロゲー作れば万事解決です。
皆がIE7にアップデート……
アレの重さ知ってる人間ならアレが普及しないことは容易に想像できます

ここが正念場、IE6でPNGの透過表示を実現させるしかない

http://ikinako.hp.infoseek.co.jp/ags/ags070220/ags070220.html

はぁーっっ!!バグなのか、仕様なのか…
どう見たってバグです、はい。

IE7以外でもPNGの透過表示が必要だ!!
ってことで実装です。
調べたところ、PNGの透過表示は「AlphaImageLoader」を使う。
ってがお約束のようです。

というわけで、imgエレメントのonloadイベントで
AlphaImageLoaderに差し替えを行います。

attachEvent使って複数のイベントを割り当てれば処理が完結してて
いい感じじゃね?とか思ってやってみたのですが、ここで突然のバグ!!

onloadに直接設定した時は、イベント発生時のthisもtargetもimg
指します。しかしattachEventした時は両方ともwindowを指してます……
へっ!?こりゃ酷い。MS様は仕様と仰るのでしょうが。

仕方ないので、透過処理を配置調整やってたonloadイベント内に書き足します。

どうにか透過表示ができました。

ここで新たな問題が発生…
トランジッション中は透過されて無ぇー
ということで、これは次回の課題。

というか、これは3日前。
現在は風邪罹ってまともに動けねぇーす
熱がある……とは思うのですが、体温計が無いので測れません。