2010年12月04日

TLGファイルのオプション

覚え書き:
透明画像を画像フォーマットコンバータでTLGに変換する場合は
ltAddAlphaオプションをONにする。
でないとトランジションが意図の通り行われない場合がある。
(addでないalpha属性を持つ画像を読み込んだ前景レイヤに
トランジションをかけると真っ黒になった)
mode属性の問題か
2.30rev2

http://devdoc.kikyou.info/tvp/docs/kr2doc/contents/TPC.html
posted by kanaejun at 17:20| Comment(0) | TrackBack(0) | 覚書

2009年11月21日

Hシステム作成方針

生存報告を兼ねて
やるべきこと

・時間に追われるまま射精シーケンサを
 Hシステム本体に組み込んでしまったので分離、汎用化する

・アニメーション定義ファイル(csvもどき)の書式見直し
 脱ぐ脱がないとか、興奮度とか、部位が増えたりとか、
 とっちらかってきた。
 画像と音声、別々に書いていたものを
 一緒にまとめて時系列をわかりやすく

・ヒロインの絶頂シーケンサ記述
 現状のアニメイベントストリーミング機能(勝手に命名)で
 対応できるような気がしないでもない、でもどうだろう
 専用ルーチンを置いたほうが確実かもしれない

・2つのシーケンサが同時に作動したときちゃんと動くか
 難航しそう。場合によっては機能制限するかも
 並列作動中は入力禁止にすれば、どうにかなりそう
 (そもそも射精中は何も出来ないし)

いずれにせよHシステムは
機能の実現という観点では大体完成と言ってよさそうです。
posted by kanaejun at 01:27| Comment(0) | TrackBack(0) | 覚書

2009年10月28日

KAGtriggerのハンドオフ失敗回避

前回の続き。技術話です。

描画ルーチンにおける変数の読み書きを追ってみましたが
特に問題は見られず。

次に描画トリガのTimer.modeをExclusive(優先配信)にして
Timer.Capacityを0(イベントキャッシュ無制限)に設定。
フリーズ現象は少なくなりましたが、やっぱり起こります。

結局、KAGから描画ルーチンをコールする際
別にタイマーを作動させて、
描画ルーチンからトリガが出なかった場合そいつが代理で
トリガ発砲を行うという処置を施しました。

;=====Hシナリオ部にてアニメイベント再生
@macro name=kag_singleanime
; セーフティ発動(2000msec)
@eval exp="kag.safetyTrigTimer.enabled= true"
; アニメ実行
@eval exp="kag.singleAnimeExec0(mp.num,'kag');"
; 終了トリガ待ち
@waittrig name="singleAnimEndtrig"
@eval exp="kag.safetyTrigTimer.enabled= false"
@endmacro


//=====トリガ安全装置 KAGへハンドオフ失敗時のための
if((ev.target == safetyTrigTimer)&&(ev.type == "onTimer"))
{
kag.conductor.trigger("singleAnimEndtrig");
};

これでどうにかなりそうです。
実際にフリーズから回復する場面も目撃。

付け焼き刃な対策ですが、まぁいいや。
それよりも何とか出来て良かった。
ゲームが途中で止まったら(しかもHの最中)問題ありすぎです。

フリーズの根本原因ですが、どうやら
キャッシュされた複数のトリガイベントが
同時にひとつの変数を読み書きすることによって
本来ならばひとつずつ行われるはずの
描画イベントの終了判定を混乱させてしまう様です。
posted by kanaejun at 18:27| Comment(0) | TrackBack(0) | 覚書

2009年10月23日

ちん○がフリーズ

Hシステムのプログラミングは最終盤です。多分

盛り上がってくると(何が)
色々な所からアニメイベントのcallが起こされるため、
捌ききれなくなった描画ルーチンが
KAGへ戻るためのtriggerを発砲できない例があるようです。
そうなったら最後、フリーズしてしまうので危険です。

--------------------
function 描画()
{

kag.conductor.trigger('***');
};
--------------------
KAGシナリオ

[eval exp="描画()"]
[waittrig name="***"]

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

「描画()」の中で何らかの不具合が起き
triggerが発砲されないと
KAGはwaittrigで永遠にそれを待ち続ける。


情報の混合を防ぐために
描画系を2系統に分けた方が良さそうです。面倒だ・・・。


posted by kanaejun at 23:01| Comment(0) | TrackBack(0) | 覚書

2009年06月19日

吉里吉里の辞書配列でつまづく

技術話。
アニメーションなどの
色んなタイマイベントが入り乱れてきたので、
辞書配列を多用して情報を整理するようになったのですが
意図しない動作が起きてしまい延々と悩んでいました。

var a= %[];
var b= %[];

a.elm= 0;
b = a;
b.elm++;

とやるとa.elmも1になってしまうのですね。
名前が別でも辞書配列の本体は共有していると。
posted by kanaejun at 17:43| Comment(0) | TrackBack(0) | 覚書

2009年04月24日

HシステムUI覚え書き

部位毎に配列データを持たせる

・enabled_property(look/touch)
コマンド可否状況
アイコンfuncは上を割込参照する

・status
現在保持するイベント
ただしイベントは多様なのでデータ列にしても意味無し?
KS上で直接書いちゃったほうがよいかも


制御に関わるフラグが場面によってまちまちなので
そのへんは全部KAGの一時変数で記述
(視認性は劣るが仕方なし)。
初期化の際の見落としに注意。

アニメパターンはaevで定義。

マウス連動イベントに関しては要考、
例外的動作なので、余裕が無ければ廃止

あとenableになった時の効果音
posted by kanaejun at 19:21| Comment(0) | TrackBack(0) | 覚書

2008年11月28日

Hシーンのレイヤ構成

アニメ回りの処理全体を見直し、再構成したら
案の定分からなくなったのでメモ

hscene_layers0811.png

※背景レイヤには透過画像を
loadImagesやcopyRectできないらしい?


<メッセージレイヤ>

message0 プライマリ
message1 名前欄
message2 予備
message3 キャプション(男)
message4 キャプション(女)
message5 変数監視ウインドゥ
feb 2009改訂
posted by kanaejun at 17:14| Comment(0) | TrackBack(0) | 覚書