トップページgamedev
1001コメント355KB

■吉里吉里/KAG/TJS雑談質問スレ■その5

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/09/15 02:43:06ID:lnIfU+bZ
ノベル製作ツール吉里吉里/KAGを使用している人達が雑談や質問をするスレッドです。
本家BBSで聞きづらい質問や初歩的な質問などでもよいのでわからないことがあればどうぞ。
自分のゲームの進行状況や製作ツール等についての話、TJS等の質問もお待ちしています。
マルチポストはやめましょう。個人叩きも禁止です。

4(タイトルは3) http://pc5.2ch.net/test/read.cgi/gamedev/1081199649/
3 http://pc5.2ch.net/test/read.cgi/gamedev/1067436686/
2(再利用) http://pc2.2ch.net/test/read.cgi/gamedev/1044256119/
1 http://pc2.2ch.net/test/read.cgi/gamedev/1021890648/

【公式】
kikyou.info
http://kikyou.info/

吉里吉里ダウンロードページ
http://kikyou.info/tvp/
0731凡_寸05/02/21 21:22:51ID:OPi9KJUF
マジレスするとTFormのonClickが左クリックしか取らん仕様みたいなので無理だと思う

あとonMouseDownとonMouseUpを組み合わせれるスキルがあるならそう書いて欲しかった
073273005/02/21 21:51:52ID:rY9HaqqG
検出の意味を解してなかった。正直的外れなこと書いてごめんかった。
073372605/02/22 02:14:44ID:4Sgqw8Lw
>>730>>731
二人ともサンクス。
そうだね。現状でどうやって実装してるかを先に書いておけば余計な手間を取らせずに済んだ。すまんこ。
0734名前は開発中のものです。05/02/25 22:43:00ID:fZqZ8CE2
tjsを理解している上級者に、助けて欲しいのだが
 
[position]タグで、draggable=true と、設定すると、
メッセージレイヤーを、マウスのドラックで、任意の場所に移動できるので、
この時、指定したメッセージレイヤーの、X座標とY座標を、規制して、
スクロールバーみたいに、上下や左右に限定して動かしたいと、考えた。
 
そこで、必要なアルゴリズムとして以下の様なフローを考えたのだが
[eval exp="tf.とりあえずの一時関数 = tjs式のゴチャゴチャした関数"]
ぐらいしか、tjsは解っていないので、はたして構築可能なのか解っていない
組み方として、方針が間違っていないか、検証して欲しい
 
 
[position]にて、メッセージレイヤーを表示
タイマー割り込みにて、スクロールバー移動処理受付中
すでに配置してあるボタン等で、タイマー割り込み解除および、次のステップへのジャンプ
[s]にて、処理一時停止
____________________________________
タイマー割り込みの内容
 メッセージレイヤーの現在の座標を取得
 メッセージレイヤーのX座標、移動可能範囲の最大値以上なら、最大値に固定
 メッセージレイヤーのX座標、移動可能範囲の最小値以下なら、最小値に固定
 メッセージレイヤーのY座標、移動可能範囲の最大値以上なら、最大値に固定
 メッセージレイヤーのY座標、移動可能範囲の最小値以下なら、最小値に固定
 上下方向のみに動かす場合、X座標を、初期値に固定
 左右方向のみに動かす場合、Y座標を、初期値に固定
 メッセージレイヤーを、指定の(X,Y)座標で、再表示
 表示位置(X,Y)によって、変化する定数の再設定
リターン
0735名前は開発中のものです。05/02/25 23:19:17ID:KQsQSiMl
上下に動かす場合、こうするのがてっとり早いかも。
first.ks にコピーして動かしてみて。

@eval exp="kag.fore.base.fillRect(0, 0, 640, 480, 0xffffff)"
@iscript
kag.current.internalMouseMove_org = kag.current.internalMouseMove;
kag.current.comp.internalMouseMove_org = kag.current.comp.internalMouseMove;
kag.current.internalMouseMove = function(x, y)
{
    var l = left;
    kag.current.internalMouseMove_org(x, y);
    if(dragging)
    {
        // ドラッグ中
        var py = parent.cursorY;
        if(py < 0) py = 0;
        if(py >= parent.height) py = parent.height -1;
        var t = py - dragOriginY;
        setPos(l, t);
        return;
    }
} incontextof kag.current;
kag.current.comp.internalMouseMove = kag.current.internalMouseMove;
@endscript
@position draggable=true
0736名前は開発中のものです。05/02/26 00:27:35ID:+2HoW21U
>735 のスクリプトに、
以下のタグを追加して、初期配置、X=100 Y=100 16*16の画像を、動かしてみた

@current page=fore layer=message3
@position draggable=true frame="test_ber" page=fore layer=message3 left=100 top=100 width=16 height=16 visible=true opacity=255 marginl=8 marginr=8 margint=8 marginb=8]
[s]

残念ながら、
マウスのドラッグで、”自由に全ての場所まで”、動かす事ができた
>@eval exp="kag.fore.base.fillRect(0, 0, 640, 480, 0xffffff)"
の、0とか、640とかの数値もいじってみたが、やはりダメだった
_________________________________________
>735 のスクリプトがアップされるまでに、自分で調べた物として、
KAGリファレンスマニュアルの、”TJSをもっと使うために”によると
kag.fore.messages[3]
と、記述すると、表のメッセージレイヤー3番を、意味するtjs式だと説明があった
また、
TJSのリファレンスによると
Window.setLayerPos(left, top)    レイヤーの表示位置指定
Window.layerLeft           レイヤーの左位置情報(取得/設定)
Window.layerTop           レイヤーの上位置情報(取得/設定)
との、記述があったが、
どのように組み合わせて記述すれば
自分の目標のレイヤーの、情報を、取得したり、設定できるのか
まだ、理解できてない。
KAGレベルよりの、使用例のサンプルがあると助かるが、それは、贅沢ってもんだ
土、日にかけて、もうちょっと調べてみるよ。
073773505/02/26 01:04:36ID:1xBTr/C8
適当に作ってみたのでどうぞ。
ttp://edolfzoku.hp.infoseek.co.jp/first.ks
073873405/02/26 01:23:30ID:+2HoW21U
>735 >737
ありがとうございます。
これを足がかりに、スクロールバーのギミックの構築が、進められます
本当にありがとうございました。
0739名前は開発中のものです。05/02/26 07:27:22ID:rtj61ODy
2.25beta2を触ってみたんだけど、windowzoomプラグインで画面の
倍率が変更できるようになってて、久々に機能追加で驚かされた。

Deeタン最近はレイヤ描画をちょっとずつ改造してたみたいだけど、
これが、そのわかりやすい成果の一つなのかな?
0740名前は開発中のものです。05/02/27 17:40:48ID:5rapVUC/
macroはラベルごとに書かなくてはいけないのでしょうか?
冒頭にmacroを書くだけだと、それ以降にあるラベルでロードをすると
macroで指定したnameが無効で、エラーが出て止まってしまいます。
途中でロードをしなければ、問題なく動くのですが。
0741名前は開発中のものです。05/02/27 17:47:04ID:ArEnBMmu
>740
マクロを書く位置は冒頭でオケ。
Config.tjsで、マクロを栞に保存する設定になってるのが原因なんじゃねーの。
そんで、そのマクロ情報が保存されてないデータをロードしてしまったんだろう。
解決策は設定を変更して、以前のセーブデータは勿体無いが削除。
0742名前は開発中のものです。05/02/27 17:48:43ID:ArEnBMmu
あ、ごめん、ひょっとしてマクロの設定だけ変えれば
セーブデータは削除しなくてもいいのかもしれん。このへんは俺未確認。
074374005/02/27 19:25:06ID:5rapVUC/
>>741
>>742
ありがとうございます。
無事解決できました。
セーブデータの事ですが設定を変えても適用されるようで
削除の必要はありませんでした。
0744名前は開発中のものです。05/03/02 19:27:54ID:GTk8ysmv
スクロールバーをKAGで組んでいるのですが、マウスボタンを押下している状態を取得する方法が、わかりません
tjsに詳しい人、誰か教えてください
 
[eval exp="f.pp =0"][eval exp="f.pp_min =0"][eval exp="f.pp_max =144"]
[eval exp="f.pp_x = 50"][eval exp="f.pp_y =100"][eval exp="f.pp_cx = 50"][eval exp="f.pp_cy =100"]
*test_000
[nowait][cm][eval exp="tf.pp_cx =f.pp_cx -16"][eval exp="tf.pp_cy =f.pp_cy -16"]
[locate x=&f.pp_x y=&f.pp_y ][button clickse=click clicksebuf=2 graphic="test_ber_00" target=*test_010_click onenter="kag.process('','*test_010')" onleave="kag.process('','*test_010')"]
[locate x=&tf.pp_cx y=&tf.pp_cy][button clickse=click clicksebuf=2 graphic="test_ber_99" target=*test_010_click]
[endnowait][s]
*test_010
;[eval exp="tf.onMouseDown =マウスボタンの押下状態の取得"]
;[if exp="tf.onMouseDown == true"]
[eval exp="f.pp =kag.fore.messages[0].links[0].object.cursorX"][eval exp="f.pp_cx =kag.fore.base.cursorX "]
;[endif]
[jump target=*test_010_end]
*test_010_click
[eval exp="f.pp =kag.fore.messages[0].links[0].object.cursorX"][eval exp="f.pp_cx =kag.fore.base.cursorX "]
[jump target=*test_010_end]
*test_010_end
[if exp="f.pp >= f.pp_max"][eval exp="f.pp = f.pp_max"][endif]
[if exp="f.pp <= f.pp_min"][eval exp="f.pp = f.pp_min"][endif]
[if exp="f.pp_cx >= f.pp_x + f.pp_max "][eval exp="f.pp_cx = f.pp_x + f.pp_max "][endif]
[if exp="f.pp_cx <= f.pp_x + f.pp_min "][eval exp="f.pp_cx = f.pp_x + f.pp_min "][endif]
[jump target=*test_000]
0745名前は開発中のものです。05/03/02 19:34:43ID:GTk8ysmv
>744 追加補足
test_ber_00.bmp 480*16 0xffffffの長方形
test_ber_99.bmp 96*32 0xff0000の長方形
test_ber_99_m.bmp 96*32 0xff0000の長方形
↓画像の内容は、こんな感じのマスク(■=0x000000 □=0xffffff)
■■■■■■
■□■□■□
0746名前は開発中のものです。05/03/02 21:48:43ID:l+u9V86M
MainWindow.tjs 3666行あたり
// function onMouseDown(x, y)
// {
// lastMouseDownX = x;
// lastMouseDownY = y;
// super.onMouseDown(...);
// }
↑をコメントアウト。

function onMouseDown( x , y )
{
lastMouseDownX = x;
lastMouseDownY = y;
tf.onMouseDown = true;
}
function onMouseUp( x , y )
{
tf.onMouseDown = false;
}

↑を追加。
これで [eval exp = "tf.onMouseDown"] だけでマウスボタンが押されてるか判定できるハズ。
0747名前は開発中のものです。05/03/02 21:50:12ID:l+u9V86M
っていうか。tjsでやるのが良いと思うぞ。
スクロールバー形式履歴のプラグインに確かスクロールバー応用の為のコメントあったよな?
0748名前は開発中のものです。05/03/03 08:28:01ID:y/8Xs/T0
>746
ありがとうございます
早速、組み込んでみます、
 
>747
たしかに、TJSで組んだほうが、すっきりすると思います
ですが、TJSでの基本的な組み方、基本的な、構築の方法を、
理解しきれていませんので、
自分は、まだKAGベースで組むことになると思います
 
吉里吉里2リファレンスにある
クラスリファレンスの、メソッドや、プロパティを見ても
どのように書けばTJSで活用できるのか
どのように書けばKAGで応用できるのかを、
どこを見て調べればいいかかが、見当がつかなく。
偶然、見つけてたとしても
KAGから入ってJavaとか知らない自分には、
基本中の基本のtjs式の構文(○○の値を参照するとか、○○の関数での○○の値を参照とか)を、
どのように書けば良いか知らないので、(ifとか、forとかは、解説があるから理解できた)
結局、知らない英単語を、英英辞書で調べているような堂々巡りに陥って
(本当は、TJSで表現出来ることでも)TJSだと、自分のやりたい事が、表現できなくなって
最終的には、理解のしているKAG+(簡単なTJS式の構文)で組む事になる……の繰り返しです
初心者から中級者への、この超えられない壁を、解説しているサイトとか、どっか無いものですかねぇ……
 
長文、失礼しました
0749名前は開発中のものです。05/03/03 13:59:49ID:Jzn86rv2
吉里吉里の本買ってみるとか
0750名前は開発中のものです。05/03/03 14:47:54ID:KgNm2K+2
>>748
すっきりする、とかの問題ではなく、TJSもKAGも基本的にスレッドは一個しか走ってないので
イベント処理時に発生するスレッド使わないと、
スクロールバー表示中はそれだけに処理を取られてしまってシナリオを進行できない。

いきなり活用だの応用考えずに、まずはソースを見て処理の流れを読めるようになるのが大事。
殊に他人の書いたスクリプトに手を加えるって場合は、そこで何が行われてるか理解していないと
予期しないバグが発生した場合、何が原因かすらわからないハメになる。

いきなりKAG systemを読もうとするのは無謀以外の何でもないので、
最初はviewerとかtransviewerのコードを読んでみるのが良いと思う。
読んでいく過程で知らない構文、知らない関数、知らないクラスが出てきたらリファレンスを読む。
はっきり言うとTJSとKAGの間に壁なんて無い。
0751名前は開発中のものです。05/03/04 02:02:00ID:HJkFDaOM
>>750
壁はあるだろう……。
tjsしか使わない俺からすると、KAGの壁はあまりにも高い……。
0752名前は開発中のものです。05/03/05 03:42:16ID:93OEjAMB
栞にメッセージレイヤの内容を保存するのってできないんでしたっけ?

ちなみに、本家にそれっぽいのはあったんですが、保存されるのは履歴だけみたいでした
http://kikyou.info/tvp/bbs/bbs.cgi?mode=&action=treeall&num=7315#7315
0753名前は開発中のものです。05/03/05 03:49:54ID:bBbERt7z
KAGの構造上、できないはずデス。

ttp://kikyou.info/tvp/bbs/bbs.cgi?mode=&action=disp&num=6628&type=sr#6628
> 現状、KAGがラベル単位でしかセーブができない主な原因が、
> メッセージレイヤがそこに何が書かれているかを記録できない
> ためなので
0754名前は開発中のものです。05/03/05 07:49:15ID:2y9jSb6N
メッセージレイヤって言っても実際は只の画像扱いだから
0755名前は開発中のものです。05/03/05 12:39:57ID:mMyUxORV
>>752
('A`)つ[ MesageLayer.tjs拡張 ]
0756名前は開発中のものです。05/03/05 13:57:12ID:A/613aYE
ゴメンナサイゴメンナサイゴメンナサイゴメンナサイ
0757名前は開発中のものです。05/03/06 23:33:45ID:BKlJRdqd
BGMとSEのボリューム調整が出来るプラグインを実装してみたんだけど、
BGMは調整できてもSEが出来ない。
マクロにしちゃうと調整できなくなっちゃうの??
0758名前は開発中のものです。05/03/07 01:01:39ID:ARKNp+xi
>>757
完成したらうpよろ
075975705/03/07 01:14:37ID:cwz3mebg
>>758
???? 質問なんでつが…
kag3フォルダ内に入ってるプラグインです。
0760名前は開発中のものです。05/03/07 01:21:08ID:muYdd0+S
>>757
> 実装してみた
ここら辺が誤解を招いたと思われ。
0761名前は開発中のものです。05/03/07 01:36:14ID:uKFK7JAY
>757
バッファの指定がまちがってるとかじゃないのか。
076275705/03/07 21:40:47ID:cwz3mebg
>>761
試しにマクロ止めて、
@playse buf=0 storage="効果音1.wav" loop=true cond="kag.skipMode<=1"
こんな感じにしてみたけど、やっぱり駄目だった…何故だ…
0763名前は開発中のものです。05/03/07 22:17:48ID:WEhquHtN
プラグインそのままコピペで実装してたら、SEのバッファは、1と2になってる。
playseタグは、bufを省略すると、0を使用するので、
ボイスの方で音量がコントロールできてると思われ。
ので、playseタグのbufに1か2を指定すると良いでつ。

以下プラグインのヘルプから
;----------------------
gvolmenu の control 属性は bgm または数値を指定します。bgm を指定すると
BGM の音量の制御を行います。0 や 1 などを指定すると、それで指定した
効果音バッファの音量の制御を行います。効果音バッファを指定する場合は
0,1,2 のようにカンマで区切って指定することができます。

音量は bgmopt や seopt タグの gvolume タグで指定する「大域ボリューム」
に設定されます。

・例

@call storage=gvolume.ks
@gvolmenu name="BGM(&B)" control="bgm"
@gvolmenu name="ボイス(&V)" control="0"
@gvolmenu name="効果音(&S)" control="1,2"

0764名前は開発中のものです。05/03/07 22:31:05ID:L8aSK5v0
うーん為になるなぁ……!
頑張ろっと
076575705/03/07 22:48:21ID:cwz3mebg
>>763
何も考えずにコピペしてました…orz
ちゃんと調整できました、ありがとうー!!
0766名前は開発中のものです。05/03/10 01:32:22ID:Auw1WK+K
rclick_tjs.ksを使っているのですが、
タイトル画面でクリッカブルマップを用いて、「Continue」をクリックすると
rclick_tjs.ksでいう所のロードメニューを直接呼び出すようにしたいのですが、
上手くいきません。

maファイル内の定義で、
storage="rclick_tjs.ks"; exp="makeLoadMenu();
で呼び出してやればいいのかなと思ったのですが、根本的に間違っているようで…
どなたか御教授をお願いします…
0767凡_寸05/03/10 02:05:47ID:yti38Gi1
@eval exp="rclickconfig_object.show()" した後、
@eval exp="rclickconfig_object.config.makeLoadMenu()" してやったらいいんじゃね?
試してないけど。
0768名前は開発中のものです。05/03/10 03:32:17ID:Hfa4ARry
>>766
>>3にあるサイト見てみると幸せになれるかもしれないよ
076976605/03/11 05:36:53ID:w1Kd5kc3
できました、ありがとうございました
0770名前は開発中のものです。05/03/13 00:55:37ID:AWDXJ1Sf
すごい初歩的な質問なんですが。

Config内のメニューの設定について質問です。
非常時にしたいメニューー項目名をfalseで設定したんですが、
まったく反映されません。
「メニューバー全てを非表示にする」反映されるのですが。

情報局のよくある質問や過去ログを検索したのですが、該当なしでした。
どなたか解決方法ご教授お願いします。
0771名前は開発中のものです。05/03/13 05:42:17ID:0fbF+Y9e
キーボードのSpaceキーかCtrlキーあたりで、メッセージレイヤーを隠せるようにしたいんですが
どこでキーコードを捕まえてやればいいのかが分かりません
rclick_tjs2.ksの中のhidemessageに直接飛ばしてやればいいんだろうけど・・・
誰か助けて
0772名前は開発中のものです。05/03/13 07:06:35ID:9nn4I0bE
>>771

公式bbsで「スペースキー」で検索してみると
すぐでてきたけど、あれじゃだめなの?
0773名前は開発中のものです。05/03/13 07:40:35ID:0fbF+Y9e
>>772
ありがとう、掲示板と言うから
「iscript」の事しかないじゃないとか思ってしまった
0774名前は開発中のものです。05/03/13 07:43:26ID:HF0nPX/R
>770
非表示にする→見えなくなるだけ
非常時?  →使用できなくする?
 
Config,tjsでの各項目の設定は、メニューバーに登録するかしないかの設定です
false と設定しても、見えなくなるだけで、機能は殺されていません
Config内の、どの項目名を非常時にしてみたいのでしょうか?
完全に機能を動作させなくするには、項目によって方法がちがいます
 
 
>771
[p]タグや[s]タグで、処理停止中に、
スペースキーの打鍵で、メッセージレイヤーは、非表示になります
 
上記以外の特殊な状況で、使用したいのなら、
処理の途中で、
 [hidemessage]タグを使用→メッセージを非表示
 左クリック後、処理続行
です。
 
それでも非表示にならない場合
メッセージレイヤー以外の前傾レイヤーを、
メッセージレイヤーとして擬似的に使用している
などが考えられます。
 
TJSレベルでどうにかしたい場合の組み方は、良くわかりません
ほかの人、教えてあげてください
0775名前は開発中のものです。05/03/14 00:06:44ID:6V1AYCLP
>774
>770です。
非常時→非表示
の間違いです。
単純にメニューバーの項目を見えなくしたいだけです。
0776名前は開発中のものです。05/03/14 01:59:43ID:xOVpUfmo
falseにしたら見えなくなったよ。普通に。
コメントアウトとかしてるんじゃ?
0777名前は開発中のものです。05/03/15 15:02:35ID:EK319IFX
MainWindowやMessageLayer弄りたいんだけど、複雑すぎて…
一ヶ所の変更で、とんでもない所にまで影響しそうだ orz
0778名前は開発中のものです。05/03/15 19:28:30ID:B6fiZQoG
>>777
変更したいことを明確にすればそんなに難しくは無いよ。
ただ漠然と何がしたいのかがわからないとき、まずは何を
したいのかを最初に具体的に考えてみるといいと思う。

あとそれでもわからないときはここで聞いてみるとか。
0779名前は開発中のものです。05/03/16 02:18:22ID:MDDnXw9k
メッセージレイヤーを複数使いたいんですが、
特定のレイヤーだけに枠画像を割り当てる事は出来ますか?
0780名前は開発中のものです。05/03/16 03:42:47ID:RqRWZslP
>779
position
0781名前は開発中のものです。05/03/19 17:06:45ID:eUGPqbCW
質問です。
選択肢画面で、カーソルが選択肢の移動を高速に繰り返しスロット状態になってしまいます。
本日始めて起こった問題で、昨日までは全く同じ状態で普通に動作していました。

吉里吉里を最初にDLした中にはいっていた「syoukai」シナリオでも最初の選択肢で同じ現象が起こります。
昨日からPC内で環境が変化したことも特に心当たりがありません。(ウィルスバスターのアップデート位です)

吉里吉里起動 → 一度、吉里吉里以外のアプリに切り替える → もう一度吉里吉里にフォーカスを戻す。
ことで解決することは判明したのですが、毎回そのようなことをするわけにもいかず困っています。

もしどなたか原因、解決法の分かる方がいらしたら教えていただけないでしょうか?
0782名前は開発中のものです。05/03/19 17:58:40ID:uKGCbkkb
とりあえず最新版を落としなおす。
0783名前は開発中のものです。05/03/19 18:16:23ID:DAL96HOR
ttp://www.ultrasync.net/dee/kr2helps/kr2doc/contents/ComputerDependentProblems.html
「操作がうまくできない」
078478105/03/19 20:03:42ID:eUGPqbCW
>>782-783
もう一度冷静になって環境周りを見直したら解決しました。
原因は、ジョイパッドが裏返しになっていて、
アナログコントローラーが常に上に入力された状態になっていたためでした。

PC設定しか疑わずに、外まで目がいってなかったようです。
助言ありがとうございました。
0785名前は開発中のものです。05/03/20 23:34:35ID:iNLleZT1
>>784
なんだかすげーな、それ。
女医パッドを裏返しにするやつも珍しい。ま、解決してよかったな
0786名前は開発中のものです。2005/03/21(月) 04:14:40ID:zyM1ANh5
クリッカブルマップで、カーソルを合わせた時に同時に二つの操作をする事は出来ないのでしょうか?
onenterで、画像の色変えと効果音を同時に行いたいのですが…
&&だと初めの命令しか実行してくれませんでした。
0787名前は開発中のものです。2005/03/21(月) 04:16:32ID:zyM1ANh5
すみません、&&の代わりに「,」でつなげたら上手く行きましたorz
0788712005/03/21(月) 10:08:42ID:chTkeRlG
('A`)…&&?

















テラワロスw
0789名前は開発中のものです。2005/03/21(月) 19:36:26ID:3JcPY/Fc
>>787
&& を使うと、
「初めのがうまくいったときは続けて次のも実行する、
初めのがうまくいかなかったら次のは無視」
という意味になる。

たとえば
se.open("sound.wav") && se.play()
とかすると、ファイルが開けた時は続いて再生するけど
フアイルが開けなかった時は再生を試みようとしない。

>>788
そんなわけで、「&&」は荒唐無稽ってわけではないのだよ。
0790名前は開発中のものです。2005/03/21(月) 20:20:18ID:rDRdN1tz
まあse.openが有効な真偽値を返せばだが。
07917882005/03/22(火) 00:19:20ID:en428bPg
>>789
うほ、ほんとだ。

>>787スマソ。
0792名前は開発中のものです。2005/03/22(火) 21:14:54ID:qokJxigN
inputタグで、数値の入力のみを受け付けたいのですが
(文字列や、文字列を含む入力 「asa」「あいうえお」「fa80hesf」等)
数字以外の入力が一文字でもあった場合エラーを返して弾くには、どのようにすればよいのでしょうか?
0793名前は開発中のものです。2005/03/23(水) 02:41:19ID:GvRk62nz
*input
@input name=f.a
@jump target=*input cond=!/^[0-9]*$/.test(f.a)

くらいかな
0794名前は開発中のものです。2005/03/23(水) 03:11:36ID:aJIDwSJ0
解決しました、ありがとうございました
0795名前は開発中のものです。2005/03/23(水) 07:46:43ID:HhnpZBgZ
まんま教えてもらったのは「解決しました」って言うのか…?
とか言ってみるテスト
0796名前は開発中のものです。2005/03/24(木) 03:55:43ID:K+v0CdBy
別にいいだろ。心のちっせーやつだな
0797名前は開発中のものです。2005/03/24(木) 23:41:22ID:igWmhKKw
と、さらに心の小さい低脳が呟いた
0798名前は開発中のものです。2005/03/25(金) 01:13:25ID:94mrgV+h
ここのへの書き込みであっているのか分からないのですが、
前景レイヤでキャラクター立ち絵を重ねると、キャラクターの縁取りが
濃くなっていってしまうので困っています。
(因みにpngです)
何か良い解決方法ってありますか?
即出の質問だったら申し訳ありません
0799名前は開発中のものです。2005/03/25(金) 02:45:20ID:YfxT5Nkx
PNG の透過処理がうまくいってないんじゃないかな?
0800名前は開発中のものです。2005/03/25(金) 23:05:07ID:LfJhYWlZ
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
圧縮ファイル folder.png < kr219b16.lzh は Bloodhound.Exploit.24 ウイルスに感染しています。
0801名前は開発中のものです。2005/03/25(金) 23:42:12ID:hPje2GNh
>そのファイルは感染していません。単に壊れているだけです。
<「Bloodhound.Exploit.24」は不正なpngファイルに対して検出される
>名前で、ウィルスに感染している・していないにかかわらず、
>ファイルが壊れていると検出される可能性があります。
>http://www.symantec.com/region/jp/avcenter/venc/data/jp-bloodhound.exploit.24.html
>いずれ正しい物に差し替えておきます。
>ただのフォルダのアイコンの絵なので消してもとくに問題ありません。

かなり昔に既出。マルチお疲れ様。
0802名前は開発中のものです。2005/03/25(金) 23:53:36ID:YY+M/Bw6
>>800
ノートンのパターンファイルの問題。
壊れていない正常なPNGの場合にもBloodhound.Exploit.24と誤検出する事がある。
08037982005/03/26(土) 03:15:02ID:zz75mjpU
>799
もう一回作り直してみます。
0804名前は開発中のものです。2005/03/26(土) 09:19:19ID:dPk+qlST
糞ノートンも困るが、誤検出かどうかも
確かめずに亀頭をとったように
騒ぐヴァカも困る。
0805名前は開発中のものです。2005/03/26(土) 22:37:57ID:rr5maSgR
ttp://higeagito.fukuoka-city.net/sysmnplg.zip

システムメニュープラグイン α前テスト。
暇な人居たらデバック頼む。
タグでも使いやすい方向に纏めるのってムズイのな。
0806名前は開発中のものです。2005/03/26(土) 22:40:46ID:rr5maSgR
解凍して出てきた分を syoukaiのコピー\scenario に放り込めば動作テストできるハズ。
0807名前は開発中のものです。2005/03/27(日) 01:10:53ID:wf9tnL7D
804
釣りに反応してえらそーにしてる真性の馬鹿はこいつ?
08088042005/03/27(日) 01:15:05ID:OcSphDbx
ネタにきまってんだろうが
だいたいが亀頭とってどうする
それとageるなヴォケ
0809名前は開発中のものです。2005/03/27(日) 08:23:06ID:Lh75qUj9
>>805-806
いいね。

「メッセージを隠す」でもシステムメニューが消えないのは、仕様?
0810名前は開発中のものです。2005/03/27(日) 12:32:23ID:8VBhI5zo
51:[menupaneopts name="root" autohide=true]

にすれば root パネルも消える。
メッセージ履歴を表示すると(履歴レイヤがモーダルモードなので)イベント受け付けなくなるバグ有り。
多分exclusives/hidechainsあたりの仕様変えると思うので実際に運用するのはチト待たれたし。
0811名前は開発中のものです。2005/03/29(火) 20:42:43ID:a9plaJaG
tf.dic = %[];
tf.dic.layers = [new Layer(window, parent), new Layer(window, parent)];
// (ry
delete tf.dic;

↑の様に dic ごと layers を消しても大丈夫そうなんですが…
横着せずに一つ一つ invalidate なり delete なりしたほうが良いですかね?
dic に色々追加していって一気に削除〜みたいなことを目論んでるんですけど。
0812名前は開発中のものです。2005/03/29(火) 21:03:59ID:NYG/0HlF
iscriptの中で、変数に格納した数値をメッセージレイヤーに表示したいのですが、
どのようにすればいいのでしょうか?
ただのテキストなら出力できますが、変数の中身はどうすれば……?
どなたか宜しくお願いします
0813名前は開発中のものです。2005/03/29(火) 21:35:27ID:/FIMQKB5
>>812
emb、と反射的にレスしようとして?????
iscriptの中でただのテキストが出力できるなら、同じようにして変数も出力できるけど?
0814名前は開発中のものです。2005/03/29(火) 21:52:53ID:NYG/0HlF
>>813
シングルクォーテーションを外したら表示できました……ゴメンナサイ
0815名前は開発中のものです。2005/03/29(火) 23:10:22ID:cyi4fg8k
>>811
状況による。
delete は変数名を undefined 状態に戻す。
invalidate は代入されてるオブジェクトの無効化フラグを立てる。
(GCにコレ消しても大丈夫よって教えるのね)

23:03:13 コンソール : tf.dic = new Dictionary(); = (object)(object 0x01F04F98:0x01F04F98)

23:03:24 コンソール : tf.dic.layers = new Array(); = (object)(object 0x01F0EF50:0x01F0EF50)

23:03:48 コンソール : tf.layers = tf.dic.layers; = (object)(object 0x01F0EF50:0x01F0EF50)


だから delete の場合、参照が他所に残ってたらオブジェクトも残る。

23:04:00 コンソール : delete tf.dic; = (int)1
23:04:06 コンソール : tf.dic = (void)

23:04:09 コンソール : tf.layers = (object)(object 0x01F0EF50:0x01F0EF50)

invalidate の場合でも、根元の辞書配列型が無効化されるだけなので要素オブジェクトは健在。
( tf.dic.layers 経由のアクセスが不可能になるだけ )

23:07:41 コンソール : invalidate tf.dic; = (int)1

23:07:49 コンソール : tf.dic = (object)(object 0x01F23008:0x01F23008)

23:07:58 コンソール : tf.dic.layers = (例外発生)オブジェクトはすでに無効化されています

23:08:09 コンソール : tf.layers = (object)(object 0x01F23608:0x01F23608)
0816名前は開発中のものです。2005/03/29(火) 23:18:24ID:cyi4fg8k
何だか妙な具合に改行されてしまった。
普通GCはオブジェクトの参照カウンタが0になったら勝手に働くので、
(吉里吉里のVMがどう働くのかは知らないけど、普通は、ね)
メモリ大量に食うから早く消して欲しいオブジェクトとか
メモリは食わないけど数が沢山あるオブジェクトなんかを invalidate すると○。

大本を invalidate するなり delete するなりすれば要素変数名も勝手に消えるので、
辞書配列なり配列なりの各要素に対して delete するのは超無意味。
辞書配列なり配列なりの各要素に対して invalidate したい場合は再帰を使うと○。

function recursiveInvalidate( obj ) {
/**/
/**/ if( typeof( obj ) != "Object" ) return;
/**/ else if( obj instanceof "Dictionary" ) recursiveInvalidate( ( new Array() ).assign( obj ) );
/**/ else if( obj instanceof "Array" ) {
/**//**/
/**//**/for( var i = 0 ; i < obj.count ; i++ ) recursiveInvalidate( obj[ i ] );
/**/ }
/**/ invalidate obj;
}
こんな感じかな。
08178112005/03/30(水) 16:37:37ID:SihZ6X52
>>815-816
レスありがとうございます。

>>815の例、とても分かりやすいです。
最終的に tf.layers に対して※ delete invalidate しないと
コンソール2行目の new Array() が残ったまま、ということですね。
※deleteは要素layers、invalidateはlayersが参照しているオブジェクト

>>816
>普通GCはオブジェクトの参照カウンタが0になったら勝手に働くので、
>(吉里吉里のVMがどう働くのかは知らないけど、普通は、ね)
なるほど。>>811の時点では、辞書配列を無効化すると吉里吉里あるいは辞書自身が
各要素に対して invalidate を実行すると思ってましたが、
上記の例も踏まえるとGC(Garbage Collection のことですよね?)が
タイミングと参照をみて無効化してくれるみたいですね。

で、その場で明示的にかつ汎用的に無効にするということで
function recursiveInvalidate なのですが…
なかなか興味深いですね。
( new Array() ).assign( obj ) の部分だけでも参照、複製、寿命などなど。

いろいろと参考になりました。
なんかグダグダになってしまってスミマセン。
0818名前は開発中のものです。皇紀2665/04/01(金) 15:46:08ID:D39lcJ5N
こんにちは、まだまだ吉里吉里初心者で
色々読んだりやったりしながら勉強中の者です。
現在少し困った事になっているので、もし宜しかったらお教えください。

・ゲームをプレイしてみた時に、必要な回数以上にクリックすると
メッセージフレームが表示されずに、中に出るはずの文字も左上の方に
表示されてしまいます。

・前景レイヤで最初に出ていたキャラクターを消して他のキャラクター
にする時に、唐突に消えて唐突に出て来てしまって少しおかしい。
なので、ソフトに消える方法が無いか検索中です。

0819名前は開発中のものです。皇紀2665/04/01(金) 18:46:54ID:ti47G1iY
日本語をまず勉強しよう。
日本語ってか、KAG用語の語彙増やせ。

>・ゲームをプレイしてみた時に、必要な回数以上にクリックすると
>メッセージフレームが表示されずに、中に出るはずの文字も左上の方に
>表示されてしまいます。

問題のあるKAGスクリプトを書いてるか、吉里吉里のバグ。
詳細がわからん事には何とも言えぬ。
メッセージフレームってのは何だ。フレーム画像を設定してるとかか?

>・前景レイヤで最初に出ていたキャラクターを消して他のキャラクター
>にする時に、唐突に消えて唐突に出て来てしまって少しおかしい。
>なので、ソフトに消える方法が無いか検索中です。

日記はチラシの裏に書け。リファレンスを良く読む事。
やりたいであろう事はトランジションで実現可能。
cf.
ttp://www.ultrasync.net/dee/kr2helps/kag3doc/contents/
0820名前は開発中のものです。皇紀2665/04/01(金) 18:49:43ID:ti47G1iY
えっと、エイプリルフール?
皇紀って何だ。皇紀って。
0821名前は開発中のものです。皇紀2665/04/01(金) 20:14:33ID:3v4t/QzM
具体的な回答を得たければ具体的な質問を書け。
0822名前は開発中のものです。皇紀2665/04/01(金) 20:26:05ID:8hTITnI8
>818 オフィシャルとのマルチ?
0823818皇紀2665/04/01(金) 20:53:10ID:1482yVT3
すみません、質問も容量を得ずにご迷惑おかけしました。

>822
そうです。
色々ご指導いただいて無事進む事が出来ました。

ありがとうございます。
0824名前は開発中のものです。皇紀2665/04/01(金) 20:59:16ID:JhYMEIaM
右クリックサブルーチンのロード画面に直接リンクしたいんだけど
なかなかうまくいかない。

勉強が足らんなぁ。
0825名前は開発中のものです。皇紀2665/04/01(金) 21:39:42ID:Yq4DlimV
exp="f.rclickmode=1, kag.callExtraConductor('rclick_tjs.ks', '*rclick')"
じゃ駄目なのか?
0826名前は開発中のものです。皇紀2665/04/01(金) 21:39:46ID:ti47G1iY
>>824
cf.
>>766-769

100レスくらい見返せYO!
0827824皇紀2665/04/01(金) 23:01:54ID:JhYMEIaM
>>767をどう応用すればリンクに対応させれるのかよくわからないYO!
知識もあんまりないし、しばらく色々と触って遊んでみるよ。
0828名前は開発中のものです。皇紀2665/04/01(金) 23:07:34ID:ti47G1iY
[link exp="rclickconfig_object.show(); rclickonfig_object.makeLoadMenu();"]

↑じゃ駄目なのか?
0829824皇紀2665/04/01(金) 23:22:49ID:JhYMEIaM
>>828
できますた。まっさきにそれをやってみてしくじったんだけど
単に打ち込みミスだった模様、スマソ。
0830名前は開発中のものです。2005/04/02(土) 05:00:52ID:DY6GzKEX
ゲーム作ってみたくなって昨日から吉里吉里の
勉強を始めたものの、KAGと心中参照にしてたら
PIA少尉に毒されて、すっかり性格が歪んでしまった。
俺、別にマイクロソフト嫌いじゃないし、gif撲滅させようとも
思ってないよ(;´Д`)
なんか向いてねーのかな……シナリオ編に進むの億劫だ
■ このスレッドは過去ログ倉庫に格納されています