トップページ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/
0657名前は開発中のものです。05/02/11 04:03:47ID:p1jn0uoh
いずれにせよTJSレベルではまず_。
Cで吉里吉里plugin書くってんなら可能でねいの?
まその場合そもそもshellExecute何て使う必要無いわけだけど。
0658名前は開発中のものです。05/02/11 08:01:50ID:C7sidUHd
あらかじめPNGなりTLGに変換しとくんじゃ、なんでダメなの?
リアルタイムに変換しなきゃならないのって、相当特殊な
用途だと思うんだけど。

0659名前は開発中のものです。05/02/11 08:36:11ID:DIIPDpCg
こーゆー事がやりたいのかな?
ttp://homepage2.nifty.com/wp/kotonoha/kurumi.html
0660名前は開発中のものです。05/02/11 09:09:00ID:Picc0BLL
だからsusieプラグインでいいじゃん
0661名前は開発中のものです。05/02/11 09:29:56ID:SP3RjXTS
http://www.ultrasync.net/dee/kr2helps/kr2doc/contents/f_Plugins_link.html

http://www.ultrasync.net/dee/kr2helps/kr2doc/contents/StorageSystem.html#id158
で出来るのかな? それとも、プラグイン読み込んだらKAG中で普通にデータを使えるようになるのかな。
066266105/02/11 09:30:37ID:SP3RjXTS
あ、h抜き忘れた。ゴメンヌ。
0663名前は開発中のものです。05/02/11 13:44:48ID:Cn+Bwtcy
一旦ファイルに書き出すなら、TJSレベルでもいけるんじゃない?
0664名前は開発中のものです。05/02/11 14:10:54ID:4xcxnGyi
今日発売のPure×Cureってゲーム、
吉里吉里のソースが丸見えでビビった。
0665名前は開発中のものです。05/02/11 14:29:34ID:XVPobpoI
>652
> NScripterとかの圧縮された画像を使用する事とかってできる?

やりたいことが本当にそれなら、Susie-Pluginを使うのが一番まともな方法。

このページ(↓)をSusieで検索してみ?
ttp://www.ultrasync.net/dee/kr2helps/kag3doc/contents/Prepare.html

VCかなにかが使えれば、Susie-Pluginを作るのはそう難しくないよ。
(画像やらアーカイブの仕様がわかってればの話)

Susie-Pluginの作り方はこの辺り(↓)。
ttp://www.asahi-net.or.jp/~kh4s-smz/spi/make_spi.html
0666名前は開発中のものです。05/02/11 18:07:35ID:7P6+l6EX
Nスクのゲームを使って吉里吉里でゲーム作るって事?

NスクでNスクはよく見るけど吉里吉里で吉里吉里のゲームって見たことないね。
0667名前は開発中のものです。05/02/11 21:41:43ID:54CWISX0
なんかアーカイブのfolder.pngがウィルスに感染してるとかノートンが言ってきたけどありえないだろ
クソノートンいいかげんにしてくれ
0668名前は開発中のものです。05/02/11 21:56:38ID:2BAVEWuZ
かぐや姫Studioの新しい定義ファイルとかって誰か有志が作ってないかね?
066964905/02/12 01:36:33ID:lNJ7aCSR
NScripterよりは数倍移植しやすそうですな。
言語仕様がわかりやすい、気がする。

まだよくわかってないけど、TJS と JavaScript はどう違うんだ?
まあ、違うってことはわかるんだけれども。

というか、どんな意図を持ってオリジナルの言語をつくったのか
知っておきたいんだけど、どこかにそういうことは言及してあるかな?
0670名前は開発中のものです。05/02/12 01:41:02ID:+ioeJF9B
どこかにインタビュー載ってたぞ。
0671名前は開発中のものです。05/02/12 02:13:15ID:Gak1kNy4
>>669

TJS = TVP Java Script
TVP = T Visual Presenter = 吉里吉里コア
0672名前は開発中のものです。05/02/12 21:22:15ID:aZWZeHRw
>667
うちもそれまで平気だったのに
それと同じファイルが昨日ひっかかった。なんでだ・・・
0673名前は開発中のものです。05/02/12 21:41:12ID:m5Kn9d+Y
本家でがいしゅつでは?
0674名前は開発中のものです。05/02/12 22:59:22ID:CQUUnbR4
↓エラーが出るんですが、どうしたらいいのか分かりません
@eval exp="f.flag1 = 0"
@link cond="f.flag1==1" storage="hoge.ks" target="*hoge_start"
(・A・)
@endlink
@r
[s]

22:50:50 (void) から object へ型を変換できません at messagelayer.tjs line 1515 [(function) endHyperLink]
22:50:50 trace : mainwindow.tjs(4455)[(function expression) (anonymous)] <-- conductor.tjs(427)[(function) onTag] <-- conductor.tjs(95)[(function) timerCallback]
22:50:50 エラーが発生しました
ファイル : first.ks 行 : 5
タグ : endlink ( ← エラーの発生した前後のタグを示している場合もあります )
(void) から object へ型を変換できません
22:50:50 script exception : エラーが発生しました
ファイル : first.ks 行 : 5
タグ : endlink ( ← エラーの発生した前後のタグを示している場合もあります )
(void) から object へ型を変換できません at conductor.tjs line 177 [(function) timerCallback]

0675名前は開発中のものです。05/02/12 23:24:01ID:SMbPByN3
>>674
[link] はスキップされるのに、[endlink] はスキップされないから。
0676名前は開発中のものです。05/02/12 23:28:03ID:CQUUnbR4
>>675
もう少し詳しくお願いします
0677名前は開発中のものです。05/02/12 23:46:21ID:7IzteecT
(・A・) を(´・ω・`) にかえるとうまくいくかも。
cond属性のことだ。
067867405/02/13 00:06:50ID:VOT58aUx
なるほど!こうですね

@eval exp="f.flag1 = 0"
@link cond="f.flag1==1" storage="hoge.ks" target="*hoge_start"
(´・ω・`)
@endlink cond="f.flag1==1"
@r
[s]
0679名前は開発中のものです。05/02/13 00:25:23ID:LW5lmJmG
>678
俺も昔この板ですごく簡単な事聞いてしまい、それに返答してもらった。
おまいさんも簡単な質問が出たときには本家のようにバカ優しくなくていい。
教えてあげてくれ。
0680名前は開発中のものです。05/02/13 00:28:19ID:V9XWisFD
>>677-678
ちとワロタ
0681名前は開発中のものです。05/02/13 20:02:32ID:h++wt/Gf
>674
俺だったら、こんな感じで、[if]でまとめるけど、どうよ
 
;フラグを、初期化または、設定
[eval exp="f.flag = 0" ]
 
…………
 
;選択肢の、設問内容を、条件で変化
[if exp="f.flag==0" ][link storage="hoge.ks" target="*hoge_start_0"](´・ω・`) [r][endlink][endifif]
[if exp="f.flag==1" ][link storage="hoge.ks" target="*hoge_start_1"](`・ω・´) [r][endlink][endifif]
[if exp="f.flag==2" ][link storage="hoge.ks" target="*hoge_start_2"](`・ω・) [r][endlink][endifif]
[if exp="f.flag==3" ][link storage="hoge.ks" target="*hoge_start_3"](・ω・`) [r][endlink][endifif]
[s]
068267405/02/13 22:14:16ID:3dQ4lKH5
>>679
もちろんですよ?
でも自分に分かる質問なんてあんまりなかったりするんですがOTL
本家の丁寧な対応を見てると
自分もなんかしないといけない気分になります。
吉里吉里のすごいところは機能とかだけでなくそういうところにもあるのかなと。

>>681
>>678のは、condの式が真のときにリンク付きの(´・ω・`)が表示され
偽のときはリンクは付かずに普通に文字として(´・ω・`)が表示されます。
>>681さんのは[if]の条件が偽のときは文字自体表示されないので
目的の動作が微妙に違うみたいです(それから[endif]がなんか違うです)
それで実は自分がやりたかったのは>>681さんの書かれた方なので

最初に書いたスクリプトの間違いは>>675さんに教えてもらったけど
それを書いた自分の考えそのものが間違ってたので、結局>>681さんのが
自分のやりたかった事でした
なんかややこしくなりましたが、要はお二人に感謝って事です
0683名前は開発中のものです。05/02/14 20:04:01ID:hmIoE7fo
以下のマクロで、指定の画像を、拡大縮小をして、画像を表示させたあと
[tempsave]と、[tempload]で、現在の画面状況を、保存、復帰が、できないのですが
なにか良い対策方法は、無いでしょうか?
 
;拡大縮小マクロ
;[zoom_set st0=背景画像 st1=変形させる画像 dx0=左上X座標 dy0=左上Y座標 dx1=右上X座標 dy1=右上Y座標 dx2=左下X座標 dy2=左下Y座標 ]
[macro name=zoom_set]
[image storage=%st1 page=back layer=0]
[image storage=%st0 page=back layer=1]
[eval exp="kag.back.base.affineCopy(kag.back.layers[1], 0, 0, 640, 480, false,0,0,640,0,0,480, stNearest)"]
[eval exp="kag.back.base.affineCopy(kag.back.layers[0], 0, 0, 640, 480, false, mp.dx0, mp.dy0, mp.dx1, mp.dy1, mp.dx2, mp.dy2, stNearest)"]
[endmacro]
 
;画像を縮小して表示
*test|拡大縮小画面TEMPセーブテスト
*|
[zoom_set st0="bg00" st1="cg001" dx0=0 dy0=0 dx1=320 dy1=0 dx2=0 dy2=240 ]
[stoptrans]
[trans method=crossfade time=500][wt]
[s]
↑このタイミングで、自作したRクリックメニューの復帰用に[tempsave]
…………
自作したRクリックメニューの復帰時に[tempload]で、画面状況復帰
0684名前は開発中のものです。05/02/14 23:46:57ID:V9emw8M3
tempsaveは栞に保存できるようなレベルの情報しか保存できない。
たとえばこのマクロだったら、レイヤ0とレイヤ1に読み込んだ画像は復帰できてるはず。
自分で描きなおせ
0685名前は開発中のものです。05/02/15 16:53:44ID:v4ys7YbC
質問なのですが、これって設定などでゲーム上でのCPUの実行動作を制限することって可能でしょうか?
処理速度がプレイに影響するようなゲームを作っているのですが、
プレイする個々の環境によって、処理時間にミリ秒単位とはいえ差が生じてしまい、
自分の環境に合わせても、理想的な動作をしなくなってしまうと思われますので・・・
0686名前は開発中のものです。05/02/15 17:50:06ID:MAY0owUE
_
0687名前は開発中のものです。05/02/15 18:01:45ID:VORTF5W+
>>685
KAG System リファレンスにある
”resetwait タグと wait mode=until を使って〜”
というのが使えると思います
「陥りやすいミス」の
”ウェイトがマシンスペックによって〜”という項目です
0688名前は開発中のものです。05/02/15 20:02:42ID:v4ys7YbC
>>687
レスどうもです。う〜ん、でもこれだと今回の場合は駄目ですね・・。
自分の作っているものの場合、ウチの環境も悪いこともあって、
遅いCPUで理想の動作のするものを、高速CPUでもウチのPCと同等の速さに処理を抑えさせたいのです。
今回の場合、そのゲームの処理時間自体が、製作マシンだとそれなりに長く、
それをウエイトとして利用して作っちゃったようなもので、
もう、CPUの速度を制限できない限りは対処法がない感じになっちゃいまして・・・。
う〜ん、やっぱりこういうことは無理っぽいですね・・・(´・ω・`)
0689名前は開発中のものです。05/02/15 20:42:03ID:oT4CG+lb
>>685
tjs2 のリファレンスに Date クラスというのがあって、これの getTime メソッドを使えば、
約1/1000秒の精度のクロックしてゲームの動作を管理できると思うけど、どうだろう。

0690名前は開発中のものです。05/02/15 20:44:46ID:bqJ2pKCA
>685
>処理速度がプレイに影響するようなゲーム
上記の様な、問題点を提示された場合
 どんなタイミングで、
 どの様な動作をした時、
 どの様な処理をして、
 どのくらいの時間で結果を応答させたいのか
これを筋道立ててスクリプトを組む必要がある
よって、入力とその応答に対するしょりは、
 入力→(処理時間設定)→処理→(設定時間までウエイト)→出力
と、構築されるので >687 の示したようなタグ等で処理する
 
しかし、>688 の様な、根本的組み方から、誤りがあるのでは?
と、本人事態が、スクリプトに疑問を抱いている様子なので、
 
どんな時に、何を、どうすると、どんなことになって欲しいのか
 
を、ぶっちゃけ、ど〜んと書いてみては?
069168905/02/15 20:50:54ID:oT4CG+lb
ごめん、Date クラスなんて使わなくても、
System.getTickCount();
を使えばいいんだ_| ̄|○
0692名前は開発中のものです。05/02/15 22:52:36ID:/0nobk9O
スヒィアスたったらら〜
0693名前は開発中のものです。05/02/15 23:18:41ID:Azidk1mR
世の中、スヒィアスみたいなのが一番楽しく生活できるんだろうなぁと思った。
0694名前は開発中のものです。05/02/16 01:13:52ID:+SYo6rwW
相変わらずの基違いっ振りですな
0695名前は開発中のものです。05/02/16 18:42:01ID:XnnaZT4W
なんかノベルゲーム作ってて13kbのシナリオがksにすると170kbになった。
要領悪いんだろうなぁと思いつつ。
0696名前は開発中のものです。05/02/16 19:36:08ID:io/biDLm
>>695
めちゃくちゃ高度な演出とかが入ってるならそれもありかと。
0697名前は開発中のものです。05/02/16 20:06:01ID:wS264nt5
>>695
マクロ化できそうなところを探してみるとか
ごちゃごちゃしてると自分が見にくいと思うから
いや、問題ないならいいんだけど
0698名前は開発中のものです。05/02/17 00:42:20ID:AcBSAP7w
♪マクロの空を貫いて〜
069969505/02/17 01:16:10ID:XQt8KFjD
こんな感じw

セリフが「あ……」の場合

ラベル
立ち絵表示マクロ
モード識別
条件付きヒストリーアウトプット不可
メッセージウィンドウ表示
表情表示マクロ
履歴表示時キャラネーム表示
フォント情報
条件別ボイス処理マクロ
あ……
リセットフォント
条件付きヒストリーアウトプット不可解除
条件付きヒストリー改行挿入
ヒストリー条件初期化
0700名前は開発中のものです。05/02/17 02:24:59ID:8gUMXWNb
>699
明らかに要領悪いな。
マクロで半分くらいには出来そうだ。
0701名前は開発中のものです。05/02/17 02:42:26ID:gqlp/hIC
>>695
tjs使いなら2行で済むな。
0702名前は開発中のものです。05/02/17 03:37:27ID:GcsN9N1j
こんな感じに、マクロ化すればどう?

ラベル
________________

立ち絵表示マクロ
________________

表情表示マクロ
_________________
ページ開始マクロ
 モード識別
 条件付きヒストリーアウトプット不可
 メッセージウィンドウ表示
 履歴表示時キャラネーム表示
 フォント情報
________________

条件別ボイス処理マクロ
________________
あ……
________________
ページ終了マクロ
 リセットフォント
 条件付きヒストリーアウトプット不可解除
 条件付きヒストリー改行挿入
 ヒストリー条件初期化
070369505/02/17 10:59:23ID:XQt8KFjD
なるほど。もともと

フォント情報
条件別ボイス処理マクロ
あ……
リセットフォント

から作品重ねる度に条件付け増やしていってたのでこんな事にw
ちょっと考えてみるかなー。
0704名前は開発中のものです。05/02/17 14:53:07ID:olDubZLQ
吉里吉里マクロ化選手権。

規定の演出を入れながら以下に軽くKsを作るかを競う……ってのはどう?
他人のマクロって気になるよね
0705名前は開発中のものです。05/02/17 15:25:58ID:ElIxvyV5
>702だけど、
俺の場合こんな感じで、本文の基本を組んでいて
必要に応じて、マクロを入れている
 
*|ラベル
[ページ開始]
本文1行目[r]
本文2行目[r]
本文3行目[r]
本文4行目
[ページ終了]
 
マクロをありったけ入れるとこんな感じ
 
*|ラベル
[BGM再生 (スキップモード時再生しない オートモード時再生 同じ曲が再生中の時再生しなおし不可)]
[SE再生 (スキップモード時再生しない オートモード時再生)]
[背景表示準備 (現在の立ち絵を全て消去)]
[イベント画像表示準備 (CGモードに登録)]
[立ち絵表示準備]
[画面更新]
[特殊演出 (画面をフラッシュ)]
[画面揺らし]
[ページ開始 (テキストウインドウ設定 履歴のみ改行)]
[キャラボイス再生 (スキップモード時再生しない オートモード時再生)]
本文1行目[r]
本文2行目[r]
本文3行目[r]
本文4行目
[ページ終了 (キャラボイス終了 改ページ待ち)]
0706名前は開発中のものです。05/02/18 14:39:26ID:VzJDqxAB
スヒィアスて……ぬっは〜て……おしるこて………
0707名前は開発中のものです。05/02/18 15:11:02ID:xl8TV5f0
なんかまた調子にのっていろいろくだらねーこと書きそうだな。
注意されるまでわからんのかこのリア工は。

0708名前は開発中のものです。05/02/18 20:28:45ID:ef/vKwPA
それがDQNクオリティ
0709名前は開発中のものです。05/02/18 23:14:05ID:UwvUntDd
ス費明日の配布してるゲームを怖いもの見たさにダウソしたさ。
で、二日くらい放っといて忘れていた今日、ふと目に付いたので、
スフィアすのだとは気付かぬまま、それをやってみたさ。
いや〜止まる止まる。ぶち切れたね。選択肢もないのにシナリオ停止したり、
ラベルが見付かりませんと報告されたり、選択肢群の表示途中で改頁しちゃったり、
こんな状態のものを配布するってなどういう了見だってんで
同梱の更新履歴見たら去年八月からの更新履歴が載っていて唖然として

ようやくスフィアすのだと気がついた。色んなものを損した気分。
0710名前は開発中のものです。05/02/18 23:44:19ID:xKgBZWCa
勇敢なる>709に敬礼ーっ
0711名前は開発中のものです。05/02/19 00:16:31ID:CDIrRsjV
http://contest2004.thinkquest.jp/tqj2004/70619/index.html

このドメインって学校の大会だったよな?
071271105/02/19 00:18:25ID:CDIrRsjV
直リンしちゃった orz

中の人スマソ
0713名前は開発中のものです。05/02/19 02:07:08ID:R0Z8VAHK
>>711
ドメインのことは知らないが、このサイト背景に字が重なって読みにくい…。
0714名前は開発中のものです。05/02/19 08:42:31ID:sl4VoTg3
>>711
http://contest2004.thinkquest.jp/tqj2004/70619/about.html
ThinkQuest
このWebサイトはThinkQuest@2004出品作品です。

071571105/02/19 14:33:48ID:CDIrRsjV
>>714
情報thanx!

ぐぐったらちゃんと出で来たThinkQuest。
中学生と高校生のイベント(?)のようで。
0716名前は開発中のものです。05/02/19 20:24:24ID:JM1BXBDx
マクロ化するメリットってksファイルの軽量化と視認性の向上くらいだよね?
0717名前は開発中のものです。05/02/19 20:37:50ID:9ib2Plci
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0718名前は開発中のものです。05/02/19 21:34:47ID:9ib2Plci
      \   ∩─ー、
        \/ ● 、_ `ヽ
        / \( ●  ● |つ
        |   X_入__ノ   ミ
         、 (_/   ノ
         \___ノ゙
         / 丶' ⌒ヽ:::
        / ヽ    / /:::
       / /へ ヘ/ /:::
       / \ ヾミ  /|:::
      (__/| \___ノ/:::

マジレスすると保守性と安定性も向上するクマ。

保守性というのは、後からの変更がどれくらい簡単かという意味で、
  ttp://www.piass.com/ykfc/kag/index.html
の8日目の2と3を我慢して読めば実感できるクマ。

またマクロは一度動作確認すれば、内容が正しいことが確かめられ、
スペルを間違えてもエラーが出るクマ。

それに対しタグの塊をばら撒くと、個々の内容が正しいかどうかは、
全部のチェックが必要な上、属性の指定間違いなど、エラーが出ない
ミスがあった場合に、発見が困難になる可能性が増すクマ。

つまりマクロを使ったほうが安定性が増すクマ。
0719名前は開発中のものです。05/02/19 21:50:12ID:JM1BXBDx
ごめんクマ。書き方がわるかったクマ。
保守性も安定性も別の手段でとってるので
俺の場合、そっちを直してマクロも直すことになるんだ。
だから出来るだけマクロを使わない方向でスクリプトを
つくっていきたいのだけど、そうした場合は視認性が悪くなるくらいで
ゲーム中の処理速度とかはかわらないよねと聞きたかった。
0720名前は開発中のものです。05/02/19 22:01:53ID:0GkhGclS
処理速度がどうかはダレにもわからんから、自分で調べろタコすけおじさん
0721名前は開発中のものです。05/02/19 22:24:40ID:9ib2Plci
別の手段ってのが何を意味するか良くわからないので
はっきりしたことは言えないけど、内部的にはマクロは
元のタグ群に展開されるので、使わなかったからといって
速度的に不利になることはないはず。
0722名前は開発中のものです。05/02/19 22:55:37ID:ENXN7azq
多分別の手段ってジェネレータとかそんな感じじゃないかな
詮索してもどうなるわけでもないけど
0723名前は開発中のものです。05/02/20 00:14:53ID:Ox8uVojh
中間言語への展開っていつやってるんだっけ……
なんとなくマクロ使わない分メモリ逼迫して余計遅くなりそう
っていうかそんなの心配になる奴は自分で調査したり自分でエンジン組んだりしなさい
0724名前は開発中のものです。05/02/20 00:54:18ID:7qErGj1Z
>>923
相当細かいつっこみだがマクロ使うほうが少し処理が増える
辞書配列へのアクセスが増えるから

しっかしマクロ云々いうよりも立ち絵なんかの周囲の
無駄に広かったりする透過部削るとかの方がよっぽど効果あるだろ

まぁ、それだって見てわかるような違いは出ねぇが

んな暇あるなら画像をtlgにしようぜ!
0725名前は開発中のものです。05/02/20 12:53:38ID:9CHlMpwY
前に3Dプラグイン開発中を見たんですが、どこで見たのか分からなくなりました・・・
どなたか分からないでしょうか?
0726名前は開発中のものです。05/02/21 00:22:40ID:Jcgumuvk
吉里吉里って、マウスの右クリックや中央クリックを普通に検出できないような気がするんだけどどうなんだろう。
Window クラスや Layer クラスに onClick というイベントがあって左クリックは簡単に検出できる。
でも右クリックを検出するための機構はないよね? 俺の調査不足か?
0727名前は開発中のものです。05/02/21 00:29:47ID:ro0j6Hff
>725
http://sai5sarashi.zive.net/memo/memo00004.html

>726
>俺の調査不足か?
うん
072872505/02/21 00:52:05ID:5ENx1i4c
>>727
ありがとうございます。もう今日は寝ようと思ってました
072972605/02/21 01:09:36ID:Jcgumuvk
>>727
やっぱりそうなのか。
何度かリファレンスを見直したんだけどな……どこにあるんだ。
まあいいや。ありがとう。
onMouseDown と onMouseUp を組み合わせてやるわ。
0730727じゃないが05/02/21 17:23:26ID:rY9HaqqG

よくわからんが質問したからには探し出して欲しい気がする。なんとなく。
ヒントとしては吉里吉里ファレンス。だと思う多分。いや俺初心者なんで。
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が出来ない。
マクロにしちゃうと調整できなくなっちゃうの??
■ このスレッドは過去ログ倉庫に格納されています