955 | kis00022 | yav | 1995/07/02 05:51:16 |
前へ
後へ
上へ
|
KISS Event extensionに関する考察
French-KISSで実験してる,KISSのイベント拡張なんですが,
簡単に解説しておきましょう.
実験なんで,なんでもできるようにしたいけど
変数を処理するのはめんどくさい! ので変数はまったく存在しません.
基本的に,どんなイベントが発生したらどんなことをするか
ということを記述するようにしています.
たとえば,
>catch(#1)
> sound("iyaa_n.au")
というのは,
1というマークのオブジェクトをつかんだら,
"iyaa_n.au"というオーディオファイルを再生する.
というような感じです.
トリガとなるイベントには,
press - 指定するセルもしくはオブジェクトの上でマウスのボタンを押した
release - 離した
catch - 指定したオブジェクトをつかんだ
drop - 離した
fixcatch - 固定値の付いたオブジェクトをつかんだ
fixdrop - 固定値が残ったまま離された
alarm - タイマーによる割り込み
inside - 指定するセルが指定するセルの外側に出ていない状態になった
outside - 指定するセルが指定するセルの内側に入っていない状態になった
などで,
そのときのアクションとしては
sound - オーディオの再生
map - セルを表示状態にする
unmap - セルを非表示状態にする
move - オブジェクトの位置を移動する
timer - タイマーを設定する
なんかがあれば,なんでもできそうな気がします.
たとえば,
>alarm(1)
> map("leftleg.cel)
> unmap("rightleg.cel")
> move(#2, 8, 0)
> timer(2,1000)
>alarm(2)
> unmap("leftleg.cel")
> map(rightleg.cel")
> move(#2, 8, 0)
> timer(1,1000)
で,2というマークのオブジェクトが
leftleg.cel と rightleg.celを切り替えながら右に移動する
ということになります.
なお,map, unmapなどでセルの表示状態を切り替えてアニメーション
するという実験のときのバグで気がついたのですが,
表示されないが,入力および位置判定の対象にはなるセルというのがあると
(メッシュのストッキングがつかみ易くなるなど)
いろいろ応用ができていいかもしれません.
で,現在困ってるのが
つかんだ状態のオブジェクトの移動要求がきたらどうしようかなということです.
つかんでるオブジェクトは移動できない.というのが無難でしょうか?
あと,固定値のついてるオブジェクトの移動要求はどうしようかな?
うーむ,悩みます.
なお,重ねて言いますが,
この記述は私が実験のために使用してるものであり,KISSの標準ではありません.
実際に標準が設定される場合には,記述方法の検討が行われ,
じぇんじぇん違ったものになると思いますので,ご注意ください.
UHD98984@pcvan.or.jp
yav