1 :
名前は開発中のものです。 :
2010/01/31(日) 19:31:16 ID:znLbECSK ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。
※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!
前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その18
http://pc11.2ch.net/test/read.cgi/gamedev/1244218314/ 吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ
ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は
初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。
■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。
大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。
■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる
数々のTipsが記載されています。
必要に応じて
>>3-5 の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
2 :
名前は開発中のものです。 :2010/01/31(日) 19:32:42 ID:znLbECSK
3 :
名前は開発中のものです。 :2010/01/31(日) 19:33:25 ID:znLbECSK
4 :
名前は開発中のものです。 :2010/01/31(日) 19:34:08 ID:znLbECSK
5 :
名前は開発中のものです。 :2010/01/31(日) 19:34:52 ID:znLbECSK
!,-/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ, i''./:::::::::::::::::::::://::::::l:l'i::::::ヽ:::::::ヽ:::::::::::::::l丶 お尻の穴に 〉!:::::::::::::::l:::::://l:::::/ll .lヽ:::l !ヽ::::l:ヽ::::::::i::l::l 指をいれて ヽ::::::::::::::l:l::::/:l .l:::/ l l,ヽ:l-l-l:::lヽ:ヽ::::::l:l.ll 匂いをKAGと l::l.l:::::::ll.l:::l''l~~∨' ' ' _,-'i-∨ l::::l::::l:l,,l_ _l::l .l::::l .l,l:l''~(~~i'' l ヽノiヽ.l:::::l:l:l::::::~''-,_ 新スレですよ _,-'':::l:l l:l.l '~l .ll||ll l l l|||l.ノ l:::::l-''''''''---,,'-,_ ,-':::::_,,,-ヽl::::::l ヽ,,,,,,ノ '--'' l::::::l ~ /-''''~ l:::::::l.l ____'___ ./l:::::::l l:::::::l'ヽ. l l / l:::::::l l:::::::ll ',,- ,_ ヽ-' _,-''--,,ll::::::l ~
質問です。 @icon変換で作ったマルチicoファイル(16・32・48)をkrkrconf.exe使って krkr.eXeのデフォルトアイコン(お魚)と変更したのですが、 ところが、作業フォルダにある16×16サイズのアイコンや、 ゲームのタイトルバーのアイコン画像はちゃんと変更されているものの、 デスクトップの48×48サイズのショートカットやスタートメニューの16×16サイズの アイコンは何故かお魚のままで困ってます ちなみに動作環境はWindows7の64bitです アイコンの元の画像はbmpとpngの両方とも8bit(256色)で保存して試しました (このソフト、gifは使えないので)
アイコンキャッシュのクリアで直ると思うが まずは一度OS再起動してみたらどうか
>>10 その通りにしてみましたがダメでした
仕方ないのでググって別のアイコン変換ソフト(フリーウェア)を探してダウンロードして試したところ、
あっさり解決しました
何でkrkrconf.exeではうまくいかなかったのか気になりつつも、安心しました
リファレンスのCSSの色変えたんだけど勝手に公開してイイ?
差分CSSだけを公開するなら白に近いグレーかも @importでオリジナルのCSSを読み込むけどオリジナルそのものは添付しないみたいな
リファレンスのhtml込みだと 本家がアップデートしたらちゃんとフォローするのか?とか問題が出てくるな でも意図が分からないな。オリジナルが 字が異常に小さいとか目が疲れる配色やってんなら理解できるけど
病弱なんだけど、白字に黒字だと辛いんですわ。 そんで、大抵の環境を黒地に白字(実際は灰)にしてるんだけど、 一番早いブラウザのぷにるだと、どうも色換えが出来そうにないんで。 ネットみてると本当に需要ないんだなぁと実感する。少数派は辛い。外山恒一。
>>16 なるほど理解した。でもユーザースタイルシート使えばいいじゃんと思った
スレイプニルでも出来るみたいよ?
こんな概念があったのか・・・今までプラグイン探してたわ。さんくす!
行末クリック待ちやページ末クリック待ちのグリフを 文字のサイズより大きめにしても、グリフ全体が表示できるようにする方法はありますか? グリフは固定した場所に表示したいのですが、文字(現在は24pixelに設定)より 大き目にすると、その分、グリフの下の部分で少しですが表示されない部分が出るので・・・
>>19 位置固定なら、前景レイヤに置いてasdファイルでアニメさせるのはダメかい?
吉里吉里でRPGって一体どうやって作ればいいんだ・・・ キャラクターを上下左右に動かすだけの操作ですら全然わからん 誰か助けて
>>22 ゲームプログラミングをやった事が無いと厳しいと思うよ
別にRPGといっても フィールドを上下左右に移動して見せる必要は無い
そうだけど
>>22 が作りたいRPGはそういう種類のRPGなんだろう
そうねそうね 俗に言うドラクエっぽいゲーム的な
「キャラが動いている」ようにプレイヤーに見せかけるなら、フィールドを上下左右に....じゃなくてもいいって事じゃねーの? 画面全体に貼り付けたマップチップ(32x32くらいの奴を横20,縦15とか?)レイヤの読み込み画像をキー移動にあわせて変化させる...とかの方が合理的な気がするわ
ずっとある一つのメッセージレイヤを表示しときたいのにct、cmだと消去されるから使えね~ erにすればイイだけだと思うけどリファレンスにラベルの後はctかcmが推奨されてるし・・・
>>28 [macro name=ctt]
[ct]
[layopt layer=message1]
定型分
[layopt layer=message0]
[endmacro]
これじゃだめなの?
layoptじゃなくてポジションだっけ?
まあなんでもいいんだけどさ
な、なるほど! 逆転的な発想ですね。いきなり解決してしまいましたよ
え、この発想は逆転してるの?
>>30 あとは、前景レイヤ一個占有して常に画像として表示させとくとかね
こっちの方が絶対消えないって点では安心かもしれない
>>31 どっちかというとかなり正攻法だよね
逆転なら
>>32 みたいに画像で持たせるとかさ
マクロネームを全角でCTにしたらメモリブロックが足りないとか言われて固まった。
なにそれこわい
KAGの本文って、どの変数にしまわれているん? kag.fore.messages[n]あたりにあるの?
なんか意味不明だね; 普通にノベルゲーム作ったとして、 「新しい朝が来た。希望の朝だ」 と本文に表示する。 そのとき、「新しい朝が来た。希望の朝だ」は、どの変数に保持されているのか、ということです。
>>37 kag.conductor.curLineStr
とか
kag.historyLayer.data
で取得できなくはない。
メッセージレイヤでは保持してないので、自前で管理が必要。
厳密に言えばfとかsfとかtfのような形ではなく、 kag.historyLayerオブジェクトの中(要はHistoryLayerクラス)でdataという内部変数に代入されてるんじゃなかったか。 Config.tjs辺りで「栞にメッセージ履歴を保存」みたいな設定してると、MainWindow.tjsの中で セーブ時 → internalStoreFlagsメソッドの中でf.historyDataという形でメッセージを保存 ロード時 → internalRestoreFlagsメソッドの中でf.historyDataから読み出す ってなことをしてた気がするわ 要はHistoryLayer.tjsを読めばいいんじゃねってことで
む、意外とめんどいのね; 色々見てみます。 ありがとう!
あやえも様のプロフェッショナル版のセーブ・ロード画面を使っている方に質問です。 これの1番から10番、そして10番のすぐ下にある自動の各ボタンにマウスカーソルが乗っている時、 デフォルトで光るんですけど、これに効果音を付けたり、何回か点滅させたりと演出を追加するには、 saveload.ksの何行目辺りに手を加えればいいのでしょうか? マウスカーソルが乗った時に、1回光る演出についての設定が記述されている 大体の行数と、そこにあるfunctionの右にある対象名が分かれば助かります。
ここは吉里吉里/KAG/TJSの雑談質問スレであって、 あやえも様のプロフェッショナル版、とやらのスレではないと思うんだが……
あやえもんに聞け
よかった、何を言ってるのか意味が判らなかったのは恥ずかしい事じゃなかったんだ
吉里吉里プロフェッショナル版とあるから訊いたんだろ 規約にサポートなどは一切できませんし、質問なども答えられないと思いますとあるからあやえもんに 訊かずここで訊いたわけだろ
えっ
>>46 釣りだと思うが、いちおうツッコんでおくと
> サポートなどは一切できませんし、質問なども答えられないと思います(^^;。
> 問題などが発生した場合、自力で解決できる方のみご利用下さいませ。
ということだから、そもそも使う資格がないわけだ
わかったら自力での解決に挑め
>>46 「原理原則」や「机上の空論」を正論と思って賞賛してよいのは中学二年生まで
>>あやえもんに >>訊かずここで訊いたわけだろ >「原理原則」 えっえっ
>>42 吉里吉里だしちょろっと見てみた。
>これに効果音を付けたり
クリックだけでいいならRButtonLayerのonClickにSE再生を追加すればできそう。
>何回か点滅させたりと
RButtonLayerを改造すればいけると思うけど、それぐらいできる人ならあれを使わずに1から作った方が早そう。
俺は46だが42でないんで48や49のレス貰っても( ゚Д゚)ハァ?としか言いようがない
42がここで尋ねた理由を推測したに過ぎん
>>42 分からん場合は有償でいいですからサポートしていただけませんかと
メールするのがいいと思う(数行いじる程度なら1万も取らんだろ)
ここじゃ親切なレスもあるが急いでるなら開発者に訊くのがいい
できるできないの返信ぐらいあるだろ
>吉里吉里プロフェッショナル版とあるから訊いたんだろ この理屈がすでにおかしい 超メジャーで、ここに来る人間の少なくとも半分くらい知ってる拡張版やプラグインならともかく というかこの「プロフェッショナル版」って名前がそもそも良くないな 公式みたい
俺の環境勝手ほにゃらら版とかいってに公開してイイの?
>>52 開発者がノーサポートと言ってるのに、
サポートを頼んでみれば?と無責任に他人に勧めるのは無粋にも程があるなあ
いつも思うんだが、自分からはブラックボックスに見えるコードをいっぱい取り入れちゃった結果
バグが出てユーザーから問い合わせが来たらどう答えるのだろうか
「自分がつくったんじゃないんで」とか言うのか
ソースを参考にさせて貰いながら、本当に必要な機能だけを追加していくのが本道だと思うけど・・・
>有償でいいですからサポートしていただけませんかと >メールするのがいいと思う こんな事言ってる時点で、自ら常識外の輩と告白してるようなものじゃん。
このやりとりが、後に同じことを考える常識外の輩に対して何らかの抑止力に
なることを願う……。
まあ、常識外の輩なんて過去スレや過去レスなんて読みゃしないんだから、
ラピュタのごとく
>>42 のような人間は現れるだろうが。
test
>>57 外から見てわかりやすいやりとりかというと、ちょっとイマイチかな。
60 :
名前は開発中のものです。 :2010/02/05(金) 01:11:13 ID:yZHKo34H
流れを切る&単純な(多分)質問ですみません。 マクロで、 [character name=俺] といれたときに、メッセージレイヤに俺と表示し、 なおかつあらかじめ決めておいた色で、その後のメッセージを表示するには 一体どういうマクロを書けばいいのでしょうか? タグリファレンスも読みましたし、参考本も読んでいるのですが、 いまいちよくわからないです。 できれば、手本を見せていただけませんか?
61 :
名前は開発中のものです。 :2010/02/05(金) 01:16:36 ID:yMDHKbaq
>>60 [macro name = "character"]
[font color="0xff0000"]
[emb exp="mp.name"]
[resetfont]
[endmacro]
タグリファレンスのメッセージ操作の項を読み倒せ
63 :
名前は開発中のものです。 :2010/02/05(金) 01:21:08 ID:yZHKo34H
>>61 助かります! ありがとうございます!!
>>62 すみません、もう一度見てきます……
というか、辞書配列使わなきゃかな~とか考えてた俺、アホス
キャラごとにかえるなら辞書配列いるな
@iscript var chcolors = %[ "俺" => "0xff0000" ]; @endscript @macro name=character @font color="&chcolors[mp.name]?chcolors[mp.name]:'default'" @emb exp=mp.name @endmacro こんなかんじで 「エンティティ」を理解すると一気にできることがひろがるのでよくよんどくべし
66 :
名前は開発中のものです。 :2010/02/05(金) 04:07:41 ID:av1sHDVp
[macro name = "character"] [font color="mp.color"] [emb exp="mp.name"] [resetfont] [endmacro] [macro name="俺"] [character name="俺" color="0xff0000"] [endmacro] 以下キャラ分…… とかやってる。
mpなんてあったっけ? 配列なのかな
レベルマイナス3くらいの質問2連発だな 吉里吉里への新規参入者が多いのは個人的に良い事ではあるが
>>42 はレベル8荒らし
>>60 はレベル4初心者
>>67 は判定できないが確実にレベル10以下
本当のレベルマイナス3ってのは
「簡単にノベルを作れるソフトを探しているんですが、吉里吉里で作ったゲームって
売ってもいいんですか?」
「吉里吉里で文字じゃなく絵を表示したいんですが」
みたいなのだ
>>69 はレベル7批評家
ってところ?
お前個人の感想なんかどうでもいいから質問に答えてやれよwwwwwwwwwwwww
レベルの格付け(笑)
お前らその程度のキャラでもうレールガンを超越してらっしゃるのですか……
某コンシューマゲーム会社も超えているね
75 :
名前は開発中のものです。 :2010/02/06(土) 01:32:33 ID:0siJ7lkH
質問です シナリオを*s1 *s2 *s3 ・・・と用意して 変数を一つ、数字が1 2 3 ・・・と増加していくものを用意します。f.No f.Noが1のときは*s1に、f.Noが2のときは*s2にジャンプするようにしたいのですが [jump target=*s(なんとか)] という書き方でどうにかならないでしょうか? (なんとか)の部分に入れるべき式を教えてください。
>また、属性の値に対し、& を最初につけると、その後に書いたものを TJS 式として評価し、その結果を属性の値とします。 >たとえば、[trans time=&f.clearTime] とすると、f.clearTime という変数の内容が、time 属性の値となります。 &("*s"+f.No)
77 :
名前は開発中のものです。 :2010/02/06(土) 01:49:13 ID:0siJ7lkH
>>76 ありがとうございます!
うまく動きました。
属性値とかまだよく分かってないのですが
今回の例をよく考えれば理解できそうです。
マクロの名前で半角カナ使ってる人いますか?
>>70 みたいなしつこい奴は確信犯的な荒らしだな
あんな質問のスルーすらできんのかオマエ
マジウザいわ
↑確信犯の誤用例
>>42 はただの初心者だろ
質問する初心者達をわざわざランク付けでレベル認定という釣り糸垂らす
>>70 こそ荒らし臭い
わざわざ蒸し返しすお前らは自分で自分をマナー良いとでも思ってるのかゴミ虫共 荒らし認定するのもレベル認定するのと同じだろうがゆとり教育受けるとそんな事も判らなくなるのか そんな暇があったら吉里吉里同士のネットワーク通信のプラグイン開発して下さいお願いします
えっ
流石にcondは無いわ・・・
>>75 って何のレスだったっけ…と思ってアンカにマウスあてたら
>>85 と同じ科白が口から
難しい語句にヒントを表示したいので、linkのhintを使っているのですが、 一度そのヒントを表示すると、エンターキーが効かなくなってしまいます。 (フォーカスがリンクにいってる?) クリック送りは有効なんですが、エンターキーも復帰させたいです。 これはどうすれば回避できるのでしょうか。 リンクをロックすると、今度はヒントも表示されなくなってしまいます。
ねえねえ、吉里吉里でブラウザゲーって作れないかな?
ねえねえじゃねえ
吉里吉里ってブラウザだっけ
ブラウザゲーってわからんが、プラグインつくればなんでもできるだろ
吉里吉里でブラウザを作ろう
ブラウザゲーってhtmlソースに仕込んでweb上で動かすゲームだよ 吉里吉里ではかたつむり
吉里吉里をFirefoxプラグインにしてゲームに同梱配布すればできる
ブラウザゲームなのにダウンロード必要になったら意味ないんです><
じゃあFlashで動作する吉里吉里エミュレータを作ってそれ上で走らせる
リンク集のリンク先が今となっては懐かしいな…
まとめwikiでいいんじゃね
systembuttom.ksにゲーム変数の中身を文字で表示したいのですが 中身が反映されないのでアドバイス頼みます function createBgLayer(){ foreBgLayer = new KAGLayer(kag, kag.fore.base); with(foreBgLayer) { .visible = true; .setImageSize(30, 40); .loadImages("システムボタンの背景画像"); .top = 570; .left = 400; .setSizeToImageSize(); .drawText(0, 0, f.hoge, 0xffffff, 255, true); //表示したい変数 .absolute = 2000000-3; } backBgLayer = new KAGLayer(kag, kag.back.base); with(backBgLayer) { 裏画面略 } } これだと何も表示されずf.hoge=+f.hogeとしてもずっと0のままで シナリオ中で値を変えても反映されないです どうかよろしくお願いします
表示ができてるんであれば、生成と更新のメソッド分ければいいんでね? 下の方法が効率がいいかどうかはおいといて -- function createBgLayer(){ foreBgLayer = new KAGLayer(kag, kag.fore.base); backBgLayer = new KAGLayer(kag, kag.back.base); } function updateBgLayer() { with(foreBgLayer) { ... } with(backBgLayer) { ... } } f.hoge++; global.(systembuttonのobject名).updateBgLayer();
とりあえず俺から言える事は見辛いって事くらいかな
>>102 >>103 でも言われてる事だけど、生成と更新は別にしなきゃ意味無いな。
drawTextはあくまで指定された内容(この場合はf.hoge)を「drawTextが呼ばれた時点の内容」で描画する訳だから
呼び出した後にf.hogeの値が変わったって何もしてくんないわけだ。この点は別にレイヤに限った事じゃないけど。
要は、値を弄ったからといって「システム側が自動で更新してくれる」なんて機能は無いってこったな
106 :
102 :2010/02/08(月) 22:58:52 ID:ZayD8e5g
レスありがとうございます
>>103 で希望通りになりました
他のレスもまたひとつ勉強になりました
改めてありがとうございました
質問です。 文字を縁取る(edge)ことはできるのですが、この縁を太くすることはできないでしょうか? bold指定のような感じではなく、文字周りの黒色だけを太くするような感じです。
MessageLayer.tjs kag.current.edgeExtent //袋文字の太さ kag.current.edgeEmphasis //袋文字の強調度
フォントサイズ大きめに縁を描画するか太くする分、複数回上下左右にずらせばいいだけじゃないの? >「システム側が自動で更新してくれる」 MVCっぽいことをすれば出来なくもないが。
110 :
名前は開発中のものです。 :2010/02/10(水) 00:17:18 ID:CxU6MeAu
フォルダ検索について質問があるのですが 000「aaa」.wav 001「bbb」.wav 002「ccc」.wav というのがフォルダ内にあったとします。 変数によって読み込むやつを管理したいのですが、 "001"で検索をかけてヒットしたファイル名を変数に格納 というのはできるんでしょうか。 やり方わかる人がいたら教えてください。
吉里吉里のプラグインにファイルリスト取得するのがなかったっけ? 標準の指定したパスを検索に含める機能では変数には代入できなかったはず。
検索に頼らずに、 ・lookup tableを作って参照 ・ファイル名の命名規則をきめて、Storages#isExistentStorageでファイルの存在確認 どちらかでも実装可能
f.charactor=[musasi,samurai]の配列を作りました *start [er] 名前[emb exp=f.charactor[0]] 職業[emb exp=f.job[1]] [jump target=*start] とした時に、f.musasi=1を入れたいのですが、f.charactorから参照して変数で表したいです。 どう表記すればいいのでしょうか? f.[&f.charactor]のようにしたいのですが上手くいきませんでした。 どなたか教えていただければ幸いです・・・。
すいません訂正です。 >f.[&f.charactor]のように ではなく、f.[&f.charactor[0]]のような感じです。
f[f.charactor[0]]=1; ちなみに character な
>>115 夜中にレスありがとうございます。
無事動きました!
117 :
名前は開発中のものです。 :2010/02/10(水) 18:46:20 ID:WXGcZSu3
クリッカブルマップを作成中の者ですが、 領域画像を読み込もうとしただけで、Windowsのエラーが出て強制終了させられてしまいます。 配布されているサンプルを組み替えてつくってます。講座やリファレンスの注意点も見ましたが、原因が見つかりません。 というか、そもそも起動さえしません。 サンプルではうまくいきました。書き換えた瞬間、駄目になって動きません。 どうやったら動くのでしょうか?
すごいのが来たな
60さんとは別人ですが、興味ある内容だったので自分なりに
>>65 を調べたのですが
>>65 の記述の中の
@iscript
var chcolors = %[ "俺" => "0xff0000" ];
@endscript
=> は どういった意味の演算子ですか
>= は リファに載っていましたが、同じ意味との解釈で大丈夫でしょうか
条件の判断
a>=b a が b より同じかより大きい場合に真(true)
>>120 ありがとうございます
やっと意味が判りました
演算子ってググったりしづらいんだよな
"=>" これだけだろ。あとは必要に応じて単語足すだけ。
>>123 それが有効かどうか自分で確かめてみれば?
「吉里吉里では、勝手にデフォルト以外のフォルダ作ると、ある条件であばばばば」って文章を見た記憶があるんです。 恐らくこういうことだろ もしくは それについて書いてあるページ を教えていただけませんか。
dataっていう名前のフォルダを作ると…のことかね ヘルプの、リリースの仕方とかいう感じの名前のページに書いてあると思う
>>131 よくエスパーできたな。
頭ン中整理して来いで追い返されるレベルだぞ。
昔特定の画像読み込むとC++のエラー吐いて死ぬことなかったっけ? アクセス違反でも起こったんじゃない?
>>117 領域画像をフルカラーで作ってるんじゃね?
>>117 そもそもWindowsのエラーってどういう内容のエラーなのか
>>117 は
>>131 に感謝するべきだな、華麗なエスパーが居なければ、
このままスルーで終了だった。
起動すらしないと言う観点から考えて、
>>136 じゃねーかな。
もしくはそもそも、画像名などが間違ってて、読むべき画像が無いパターン。
読むべき画像が無い時に出るエラーって、Windowsじゃなくて吉里吉里によるエラーじゃなかったか
アドレスぶっ飛んでアクセスしたとかスタックオーバーフローとかはC++
作者が執筆途中で逃げて未完成の推理小説を推理してるみたいだな 不毛だw
142 :
117 :2010/02/12(金) 17:30:10 ID:kJ8IF252
みなさん、お答えありがとうございます。 遅くなってしまってすみません。 Windowsのエラーというのは、 問題が発生したため、プログラムが正しく動作しなくなりましたってやつです。 フルカラーで作ってしまってたので、やりなおしましたが、同じくエラーでした。
ちゃんとインデックスカラーでやってるのかい?
これはインデックスってなんですかフラグ
イントラネットさんって誰ですかフラグも立ったな
146 :
117 :2010/02/12(金) 18:21:53 ID:kJ8IF252
フルカラーをインデックスに変換したのですが、それじゃだめとかありますかね?
x / ./ / / ``\. + /_.. ィ7T.フ厂 ̄`フi ‐- ._ |〉 x .x !  ̄フ/l/_×// |ハハl .ト、 x |! / | /|,イ._T_i` .r≦lハ!|`` +
クリッカブル領域の画像ファイルはちゃんとPNG(PNG-8形式)で保存してる? 領域アクション定義ファイルにちゃんとパレットインデックスの番号を割り振ってる?
8bitBMPでもokじゃね
アプリごと落ちちゃうってことは「サンプル」とやらが特殊な仕様を要求してるんじゃないかなあ
指定間違い程度ならクリッカブルマップが無反応になるだけだし
何か
>>42 的展開だな
>>117 はまず自分で1からクリッカブルマップを作って領域画像が正しいか試しなよ
これじゃ100レス使ってもらちがあかないよ
150 :
117 :2010/02/12(金) 19:29:41 ID:kJ8IF252
png8形式になってなかったみたいです。 初歩的で分かりにくい質問をしてしまって本当にすみませんでした。 みなさんありがとうございました。
151 :
名前は開発中のものです。 :2010/02/13(土) 02:42:02 ID:k4GibZyg
>111,>112 ありがとうございました。無事にできました。
なにをどうしたら出来たのか書け。
「領域画像がちゃんと出てなくて、吉里吉里のエラーが出ていた」 恐らくこれが事象、つまり、136のエスパー回答が正解。
154 :
名前は開発中のものです。 :2010/02/14(日) 03:49:34 ID:BtKzRHMW
皆さんボタンとかセーブ画面とかの 画像ファイルってどうやって作ってますか? さすがに全部手描きなわけにも行かないし。 フォトショとか? 使いやすいのあったら教えてくだs
ボタン類はホームページビルダーで作ってる。
Fireworks CS4 フォトショよりはまし。
枠をフォトショで作って、文字は吉里吉里で描画させてる 凝ったやつはイラレだな
>>154 スレチだがマジレスしてみる
加工もするから全部フォトショ
ボタンやロゴはフリーソフトで
たまにいいのがあるからそっちも使ったり
ぜんぶGIMP
終了したり最初に戻ったりするときに出てくるあのダイアログをウィンドウズ標準のものに出来ませんか? 文字にアンチエイリアスが効いていたりボタンが微妙に違ったり気になります
吉里吉里プラグインが必要
もうすこし詳しく
yesNoダイアログ.tjsってとこいじれば画像は任意のものに変更可能 それで、XP標準っぽくすればいいんじゃない? と適当な回答 ダイアログ呼び出しはSYSTEM.INFORMだっけ? つまり内部でやってるのは 1.ゲームのスリープ 2.小さいウィンドウの生成 3.背景画像と、ボタンの設置 4.文章を表示 5.Yes or Noで挙動を変更 これだけだから ゲームのスリープから先を自分でいじって 標準のダイアログに変えればできるんじゃないかな?
っwin32dialogプラグイン
タグリファレンスに接続できなくなっているのは自分だけでしょうか
win32ole.dllで可能
WshShell オブジェクトのPopupメソッドを使う
Plugins.link("win32ole.dll");
Debug.console.visible = Debug.controller.visible = true;
var shell = new WIN32OLE("WScript.Shell");
var ret = shell.Popup("メッセージ", 0, "タイトルバー", 4+32);
Debug.message(@"ret = ${ret}");
invalidate shell;
引数の意味はWindows Script V5.6 ドキュメントを参照
ttp://www.microsoft.com/japan/msdn/scripting/ ここまでで理解できなかったら諦めろ
質問です。 メッセージの枠に表示される文章を 履歴のようにスクロールバーで前後が見られるようにしたいのですが (履歴としてではなく、メッセージの枠内にあるままで) どうすれば可能でしょうか
PBP様で公開されてる前景レイヤー削除マクロの解説を誰か頼みます ソースは転載していいのかわからないのでここでは伏せますが @del 0 3 4 としたらnames.countは3ですか? でもi<3になるしなんで1じゃなく2を足すのか知りたいです 自力じゃメソッドの意味くらいしか調べられなかった・・・ 未熟すぎる質問ですみません
>>169 0 3 4と3つ入れて2を足していくなら
names.countに入ってるのが6だったら3の倍数で丁度(・∀・)イイ!
>>169 問い合せろよw と言いたいところだがせっかくなので。
@del 0 3 4
は
@del 0=void 3=void 4=void
と同じ。
で、引数の辞書配列を配列にすると(本来順不同)
[0]="tagname"
[1]="del"
[2]="0"
[3]="void"
[4]="3"
[5]="void"
[6]="4"
[7]="void"
になる。レイヤ番号だけ使いたいから、[2][4][6]つまり、0から始る2飛びで、tagnameではないもの。
>>169 です
>>170-173 場違いな質問にも関わらず親切にしてくれて感謝です
すごくわかりやすくておかげで=以下を省略できた理由までわかりました
本当にありがとうございました
>>168 じぶんでGUI組めないやつには無理。諦めろ。
グッバイ○ゥ○ユーVer.4.1をはじめ 幾つかの吉里吉里ゲーム(.exe)(複数フリーベンダー/バージョン等の共通点は未調査) がADV(Anti-Virus Free)で検出されるのですが、何か知っている人いたら 教えて下さい。 感染「トロイの木馬Generic16.BITO」 DL時期とかバラバラですし、 誤検出ではないかとは、思うのですが…
177 :
176 :2010/02/15(月) 15:55:44 ID:fj4rbCQf
手元にあるkrkr.eXeを調べてみたところ、「2.28 stable rev. 3」のみ引っ掛りました。 ○ 2.28 stable rev.2 × 2.28 stable rev. 3 ○ 2.30 RC 1 ○ 2.30 Rev.2
>>176 ばりばり誤検出かと。
ADVは吉里吉里にかぎらずゲームエンジン系でしょっちゅう誤爆おこしてます
ADVは狙い射ちしてんのかってくらいエロゲエンジン誤検出する。 どうも実行時にテンポラリ吐くタイプと相性が悪い。 定義更新するたびに誤検出繰り返すから気にしないでいい。 Windowsの復元が復元ポイント作るたびに反応するけど生温かい目で見守ってやれ。
なんとかならへんかった
winのダイアログのSS取って装飾をなくした吉里吉里のウィンドウに張ればおk
素直にそうしときます・・・
格好悪いから俺ならやらないけどな
185 :
名前は開発中のものです。 :2010/02/15(月) 17:35:41 ID:AVqOV1/6
コンフィグのボタンの文字とかも、画像にした方がキレイなんだよな結局。 せっかく作ったからそのままにしてるけど。
俺もイジったけど、文章によって大きさが変えられないからかなり壊れた感じだけどな。 頑張ればできるんだろうけど。
187 :
176 :2010/02/15(月) 18:51:12 ID:/gqXwsbK
>>178 ,180
そうなんですね。ありがとうございました。
(OSやアプリの入っているドライブをスキャンして
他に、検出なしでやれやれといったところです)
へい!質問だメーン! 画像3枚でアニメーションっぽく見せる場合、 [image layer=1 storage=1.png visible=true] [wait time=100] [image layer=1 storage=2.png] [wait time=100] [image layer=1 storage=3.png] と、 [image layer=1 storage=1.png visible=false] [image layer=2 storage=2.png visible=false] [image layer=3 storage=3.png visible=false] [layopt layer=1 visible=true] [wait time=100] [layopt layer=1 visible=false] [layopt layer=2 visible=true] [wait time=100:] [layopt layer=2 visible=false] [layopt layer=3 visible=true] ではどっちの方が処理速度速いっかなかな!? この3コマのアニメーションを繰り返し実行する場合、後者の方が良いのっかな!? 教えちゃいなよバッドでワイズなヤロー共!
つ asd
説教絵師様が現れる前に逃げろ
おk把握
よしやろうか でも、言っちゃ悪いがそれじゃ素材として使い物にならん ラフでいいから 正面立ち絵 全裸 斜め立ち絵 全裸 制服+私服 これで持ってきてくれ
絵嫌いじゃないけど(大きな耳とか可愛い!)
>>193 がいうくらいの資料は必要だよね
まぁ転載なんだろうけど
じゃあ今週中にはもってきまーす
判断するのは立ち絵じゃなくて、イベントCGだろ・・・
スチル100枚あろうが立ち絵なきゃどうしようもない 立ち絵無しでスチルだけで回収するのは非効率的すぎるしなあ ものにもよるんだろうけど
エロなのか非エロなのかが問題だ 非エロならシナリオ次第でスチルなしでもいいよ
せめて表情4種くらい描けよ
配列の利点がいまいち掴めないのですが、 f.A子_高感度=0,f.B子_高感度=0 f.A子_帰宅回数=1 等の変数を配列で f.A子.高感度=0,f.B子.高感度=0 f.A子.帰宅回数=1 とするのって何か利点があるんでしょうか。
>>203 好感度を一斉リセットしたいときとかは
配列だと、要素を全削除すればいい
配列じゃないと、全部一個一個消さなきゃいけない
他にも、配列で持っとけば管理しやすいとか色々利点あるけど
自分が必要性感じないなら今のままでいい
forで10回回すのもコピペ10回するのもかわらんしね
自分で管理しやすく扱いやすい方でいいとおもうよ var id="A子"; var value=5; f[id].好感度 += value; と f[@"${id}_好感度"] += value; ぱっと見た目どっちがわかりやすい(扱いやすい)かだろうな。
辞書配列で f.A子.koukando とか f.A子.kitaku とかにすると、視覚的に分かりやすいけど 単に f.A子[0] f.A子[1] とかにした方がforとかで回せていい・・・代わりに 「[5]に入ってるのは何の要素だったっけ・・・?」みたいに悩む事があるのが困る
吉里吉里って辞書配列を列挙するのが面倒なのが困るんだよなあ あと半角全角でA子とA子を誤入力したりしないように、 存在しない要素にデータを突っ込むとエラーが起きるタイプの 辞書配列とかもあると嬉しかった 要素を増やすときは専用の関数使うような。
var A子_好感度 = 0; var A子_危篤 = 1; f.A子[A子_好感度]; f.A子[A子_危篤]; これでいい。
>>206 それならパラメータを辞書配列にしてキャラクターを配列にしたほうが
ID番号・出席番号みたいな感じで認識しやすいかも?
// 0:A子
// 1:B子
f["高感度"][0] = 1;
f["好感度"][1] = 1;
というわけで俺はこんな感じ。
>>207 自分でそういうセキュアな関数群を作ればよかんべ。
フォルダ検索機能を拡張したりはやったんだけどなあ どうもコードの書き方が難解というか、うかつに触っちゃ いけない感が強くてそれ以来自分でDLLコンパイルするのは やってない 業務でC++とか書くとああいう感じになるんだろうか
吉里吉里のソースコードは「無駄に複雑」の典型だと思う
>>214 あ、いや演算子オーバロードは無理だけど
ん、まてよ辞書配列ではなく実体はObjectにして、 「要素を追加」関数で別途メンバ一覧も更新するようにすればできるのかな?
dic.get("好感度")とかじゃ見づらくて何の意味もない
そんな立派なもんじゃなくても [iscript] sf.Names=%['名前1'=>1,'名前2'=>1]; function pirorin(name, add=1) { if (sf.Names.name === voidとかそんなん){ System.inforom('error'); return; } f.pirorin{name} += add; } [endscript] ;名前1の好感度を1up [eval exp="pirorin('名前1')"] とでもやっとけばいいんでは?
吉里吉里標準機能の範疇で書くならこうかな。 ただしコンストラクタと missing は上書きできてしまうので注意 class LimitDict { function LimitDict(names) { Scripts.setCallMissing(this); } function missing(set, name, value) { if (set) { throw new Exception("can't set value"); } } var a; }; var data = new LimitDict(); data.a = 10; // OK data.b = 10; // FAIL(exception)
その絵を見せられて俺達は何て言えばいいんだよ
使い物にならないのでVIPででもスレたててやっててください
忠告してやったのに
>>220 正直な感想を言うと、一緒に作品作りたいって思うほどの腕じゃないな
体のバランスが怪しい、顔に安定感がない、
書き込みが足りない(ラフだとしても、ちゃんと描いてどうなるのか分からない)、
あとセンスが古い。わざとかもしれんけどね。
色塗って、よほど特有の味が出るようじゃなければ、特に思うことはないな。
俺ID:anCePNwzだけど
>>225 の言うとおりだな
最初の絵は多少ましに見えるけど、立ち絵で画力のなさが浮き彫りになったな
何か作りたいだけなら
>>222 の言うとおりVIPでやればいいんじゃない?
俺は組んでまでやりたいとは思えないけどね
IDがKOUEI! のぶながのやぼうやってくる!!!!
皆ありがとう 俺のレベルがまったく足らんかったみたいだな 糞絵上げてすまんかった 半年篭ってくる
次は最初から誘導先でやれよ ここは絵指導スレじゃないんだから
>>229 正直、おまえの絵好きだぜ、今の絵師が居なかったら一緒にやっても良かった。
でも、2chで募集するなら然るべき場所でやらないとこうなるのは分るだろ?
まあ、そもそも2chで募集自体がオススメしないけど
質問させて下さい。 リンクをクリック→er→同じ場所にまたリンクが出る場合、 ポインタを少しずらさないと選択出来ないのを 連続で選択可能に出来ないでしょうか?
234 :
名前は開発中のものです。 :2010/02/17(水) 23:08:41 ID:nXlen+Nl
質問なんですが、 画像を表示する時にマスク画像を使用して画像を読み込んだり、 マスク画像を使用せずに読み込んだりってできますか?
235 :
233 :2010/02/17(水) 23:48:08 ID:kl7XzraT
すみません特別な事をしなくても出来ました、申し訳ない
質問です [link hint="ゲームを終了します"exp="kag.close()"]終了[endlink] ↑を使ったら「終了しますか?」のダイアログがでます。そしてそれで「はい」を選ぶと終了すると思います。 だけども、自分の場合、何故か終了間際に一瞬だけ「 EAccessViolation」の警告文が画面に表示されちゃいます。 どうにかして、この表示画面を消すことはできないでしょうか?
それはウィンドウが片付けられた後に、もうないオブジェクトにアクセスしたため たとえば何かイベント(マウス移動とか)が発生してイベントハンドラが呼ばれたとか ウィンドウを閉じる前にちゃんとdeleteするようにすれば消えると思う 違ったらごめん
kag.close();を呼び出すと色々不都合が出るとかどうとかってのは結構ある問題パターンだな。 本来あらかたの終了処理が終わった段階で(システムが自動的に)呼び出すべき関数らしいから、処理何もしてない状態で 呼ばれるとエラーがたんまる出る可能性があるんだっけか。 代わりに"kag.closeByScript(%[ask:true])"を呼び出すようにしてやると幸せになれる事が多い
>>238-239 幸せになれました。本当に助かりました。
また次回も質問させてくださいm(_ _ )m
Xの(1/Y)乗の計算ってTJSでは出来ないでしょうか?
Math.pow
大変底辺な質問なんですが、簡易なアドベンチャーゲーム形式になっている サンプルシナリオを扱っている様なサイトはありませんでしょうか?。 キャラクターの会話が成されているものであれば良いです。 テンプレのサイトを当たってみましたが、特殊なスクリプトのサンプルが 殆どで後は閉鎖されている物などが多く中々たどり付けませんでした。 何かよいサンプルシナリオを公開しているサイトが御座いましたら、 教えて頂けるとありがたいです。
何言ってんだこいつと思ったが、ぱっと落として参考に出来るサンプルって 意外にないのな。 昔はおさかな定食が在ったんだが。。。 吉里吉里用の本に付いてるんじゃね?
おさかな定食で神経衰弱とかもぐらたたきとかなら サンプル見た気がするけど 単なるアドベンチャーゲームでそんなんあったっけ
質問なのですが、おさかな定食で配布されていた、 どこでもセーブのプラグインの代わりになるものってありませんか? 自分でも色々探してみてたんですが、 それっぽいスクリプトがなかなか見つからなくて…。 おさかな定食さんで直接頼めば対応してくれるみたいだけど、 そこまで急ぎって訳でもないし。 何処か知ってる方いらっしゃったら教えて頂けると嬉しいです。
どこでもセーブのプラグインの仕組みってどうなってるんだ? 毎行ごとにラベルを連番で挿入してんのかな
>>248 っぽい
ラベル読み込み用のマクロをシナリオに入れ込んで
そこでプラグインコールしてる
おさかなさんの代わりになる物って少ないんだよね
吉里吉里メニューにあわせて文字速度調整の環境設定画面もできたし
(今配布されてる物は独自になってるのが大半)
あれだけサイトにきっちり書いてるって事は、
サポートしませんって書いてても、サポして下さい(要約)メールが多いんだろうから
サポしなくてもいいから再公開してとも行かないだろうしなあ…
>>248-250 やっぱり代わりになりそうなプラグインって無いんですね…
下手に問い合わせてらんかさんに迷惑掛けるのは嫌だし、自作するしかないのか
もう少し探して無さそうだったら自力で頑張ってみます
ありがとうございました
>>52 のレス見て思ったけど
おさかなレベルのサポートは本当金とっていいレベルだったな
要望出すとすぐサンプル作ってたしそりゃ無理が出るわ・・・
無料でサンプル公開するけどサポート有料って結構アリだと思った
連レスすまん
>>251 tp://pokeita.4ever.jp/modules/wfdownloads/singlefile.php?cid=5&lid=10
>>253 あった…!
これで漸く胸のつっかえが取れそうです
ありがとうございます、早速これで試してみたいと思います
>>255 まだあった…!
完全に自分の探し方が浅かったですね…申し訳ないです
何はともあれ幸せになれました、皆様ありがとうございました!
>>257 ありがとうございます。
早速落としました、これを元に勉強させて頂きます
.netとslimDXでエロゲ作るは流行るだろうかw 俺もjavaとJOGLでエロゲ作ろうかなw
エロゲ何てグラフィックとシナリオが全てなんだから何で作られてるか何てユーザーからしたら死ぬ程どうでもいいよ 吉里吉里はその辺理解しているから汎用性を捨てたノベルゲー特化でここまで簡略化してるんだろ
TJSの性能で組めるのがADVエンジンしかないだけ。 アファイン変換しながらスプライト動かす程度できつい。
>TJSの性能で組めるのがADVエンジンしかないだけ。 流石にそれは無い RPGやシミュレーション系なら余裕だし、 スーファミやらゲームボーイ程度のレベルならアクションゲーでも十分いける。 もっと重いHSPですらゲーム用プラグラミング言語としてそれなりに知られてるのに。 98使ってるのかと。
というよりも PentiumIIとかK5,K6の時代ならまだしもC2DやPhenomIIがデフォなこの時代じゃ どんなゲーム作ろうがさほど重くならんよ。CPUの性能にモロに引き摺られる仕様なんだから それなりに良いCPU積んでる昨今じゃ程々には動く
ウィンドウサイズ大きめでFFDの各コマ一つ一つがアニメとかやったら重かった。
え、HSPの方が重いの? いいコト聞いた。 テキストエディタ作るとしたらどう?
テキストエディタ開発は修羅の道ってばっちゃが言ってた
WYSIWYGでノベルゲームが作れるエディタなら需要あるんじゃないか
つかそれって演出エディタという名で公式で作ろうとしてるんじゃないの?<WYSIWYG 完全に頓挫してるけど 結局Flashでいいじゃんってことになりそう
HSPはゲームでやるような処理はプラグインに丸投げしてたからHSPの方が軽い。 HSP自体は遅くてもHSP使う意味ないだろってくらい丸投げするから全体的に丸投げ先の恩恵を受けられる。 HSPでゲーム作りだすとプラグイン経由でWin32APIとDirectX叩くのがふつうだからね。 最適化する場合はマシン語をメモリにぶち込んでVirtualProtectでアクセス保護変更して実行してた。
STGやらアクションやら3Dバリバリゲーやら作るなら吉里吉里の選択肢は微妙だけど、 ノベルやらSLGやらなら吉里吉里は優秀じゃね。 素人が.netとslimDXでこの手の作っても、吉里吉里製よりトータルで大きく劣ると思う。
>.netとslimDX これやったのは商業だしエロゲ屋のマなんて趣味グラマ以下がほとんどだぞ。
リトルウィッチのエンジンは素晴らしかったな 吉里吉里以外で触りたいと心から思ったのはあれだけだわ
>>272 独自用語バリバリで意味がわからんが、
>これやったのは商業だしエロゲ屋のマなんて趣味グラマ以下がほとんどだぞ。
趣味グラマ以下の商業エロゲで実現できるから普通に出来るってこと?
>>269 演出エディタなんてもんは各自が作るものだろ?
要求される仕様がそれぞれ異なるんだから何にでも使えるようなツール
なんて余計な機能だらけで使い物にならん。
必要な機能に応じて作品毎に演出エディタ作るところからはじめるだろ?
演出エディタとか作りたくても作れない
>>274 独自用語ってか単純に短縮して発言してるだけな気がするぜ
.netやslimDXなんかに本格的に手を出すブランドも商業の中には色々あるけど、大抵は
吉里吉里やNスク、あるいはブリコ辺りに発注してる所が大勢だし、何よりその程度で済んでしまうので
「TJS使えませんけどKAGなら使えます><」っていうような奴がいっぱしのプログラマ名乗っても問題ないような業界ってこったろう
>>275 ゲームエンジンなんてもんは各自が作るものだろ?
要求される仕様がそれぞれ異なるんだから何にでも使えるようなツール
なんて余計な機能だらけで使い物にならん。
……というのは冗談にしても本質的には変わらん
公式で演出エディタ作るのにだって意義はある
半角カナきもい
ソンナコトナインジャナイ?
>ゲームエンジンなんてもんは各自が作るものだろ? 冗談じゃなくて当たり前のこと言ってるな。 最近は海外勢が自社エンジンのライセンスで稼ぐ方向にシフトしてるが ゲームエンジンなんて本来、統合環境と実行環境のFW含めた全部入りを さす言葉なんだから汎用のパッケージじゃ対応できないもんだ。 エロゲ界の自社エンジン公開はFW部分しかないからJREや.NET Framework公開してるのと同じこと。
すいません、質問です。 立ち絵や背景を透かすメッセージ枠用の画像を作りたいんですがどうすればいいんですか? やはり半透明pngを使うしかないんでしょうか? 一応半透明pngを作ろうとしたのですが、上手くできませんでした。(半透明にしたいのに透明になったり、上手く背景や立ち絵が透けて見えなかったり) どなたかご教授ください。おねがいします。
マスク画像を使う方法がKAGリファレンスの「前景を表示しよう」に書いてある。
>>283 ありがとうございます。解決しました。
マスクをどうやって作るか悩んだ結果、pixiaで弄る事にしました。
後はデザインを考えるだけです。
調べてもわからない事がありましたらまたご教授お願いいたします。
丁寧語に慣れてない人ほど「ご教授」を誤用するのはなぜなんだろう
慣れてないからじゃね
まあ、多少は仕方ないとは思うけどね。 2chの場合、質問スレでもちょっとした言葉のあやで粘着されて、粘着がうざいから 大抵、そうなると他の住人からも答え貰えない可能性もある。 慣れてない人ならリアルの数倍緊張すんじゃね?
確かに3Dが求められてるって感じはないよな。 海外じゃ割りとポピュラーになっている、2Dの「古臭い」、「3Dに劣る」という感覚が 日本にはないし、今後も根付かない気がする。
すまん、ごばく
3Dは個人じゃ時間かかり過ぎるんだよ、
同じスレで同じような文章で質問しても すっごいあっさり答が返ってくるときもあれば 関係ない部分で重箱つつかれネチネチされて 結局何も答えてもらえないときもある そのときそのスレにいる人間が 一番最初にどんなレスをつけるかにかかっている
そういうのはすごく機嫌のいいときだな俺は 残業しなくて済んだとか、読んだ本が面白かったとか。 あと、ゲ製サークルが調子いいとか。 てか、言葉遣いよりも、そこから透けて見える姿勢が問題なんだと思う。
見知らぬ人に質問するときは、そりゃ運もあるだろうが せめて身なりでもきちんとして好印象取れるように努力しろってことだな
機嫌の善し悪しというか気まぐれで答えるな。 見るからに電波な感じじゃなければ特に印象にはこだわらない。 しょせん気まぐれ。態度がどうこう言うのもだるいし。
基本的に質問スレにいる人って自分が上だと思ってるからちゃんとしてくれないとイラッとしちゃうんだよ だから、言葉使いが(ryとかなっちゃうの
>>295 そんなの当たり前じゃんか、自分は解決可能で回答ができる、質問者は自分では
どうにもできない。明らかに上だろ?
「上も下もなく皆平等です!」なんて言うことを許されるのは上の人間だけ。 下の人間が「自分が上だと思ってるからちゃんとしてくれないとイラッとしちゃうんだよ 」 みたいなことを言ったら、そりゃ上の人はカチンと来るわな。
何この流れ
ここまでたぶんまともに回答できてる人はいないな
なんの話や
こんな場所で自ら上の人間と称してる奴は煽り専門な気がする
自称してるやつもそうだけど、自らを上だと思ってるやつも煽り専門だろう。
>>295 とか見てごらんよ。
「お前達回答者は自分たちが上にいる人間だと思い込みたいようだけど、
ちゃんちゃらおかしいです、あらあらボクちゃん、イラッとしちゃったの?」
という、回答者よりもさらに上からの目線が透けて見える。
それは上からどうこうじゃなくてただの釣りという 釣果はなかなかのようだが……
krkrの話をしようず
んじゃ、お勧めのマクロの作り方とか語ろうぜ たとえば俺は、[キャラ="キャラ名" 立ち絵="1" 位置="1"]って感じのマクロ作ってる キャラ名と立ち絵番号で立ち絵が決まって、位置に表示って感じかな。
まあこれぞマクロって感じの基本だな
>>305 ジュークボックスみたいな感じで音楽を管理
[pbgm no="1"]
マクロ側で、Noに応じて曲を割り振ってる
一覧にしとくとすごい楽
後で変えようと思ったときもマクロ側の対応ナンバーを違う曲に変えればいいだけだし
いちばんよく使われてるマクロって、やっぱリファレンスに載ってるボイス再生かな
>>307 お、いいなそれ
[マクロ名 立ち絵=キャラ名 差分=1 位置=1]
って感じで俺はやってる
キャラクターごとに差分のpimageを書いて
キャラ名で判定して呼び出してるんだがpimageが何行にも連なってすっきりしない
差分画像のサイズとか座標を全部立ち絵サイズにして作ればいいんだろうか・・・
今のPC性能と余白部分が圧縮されることを考えれば 立ち絵サイズもしくは全画面サイズで全部作るほうが ラクだしいいだろ
>>310 展開時のサイズがでかくなるので沢山あるとスキップとかすると差がわかったりする場合がなきにしもあらず
>>309 吉里吉里は png の oFFs チャンクに対応しているので、トリミング情報を画像側に埋めることができる
AnimationLayer.tjs の loadPartialImage() の
var dx = +elm.dx;
var dy = +elm.dy;
の部分を
var dx = elm.dx !== void ? +elm.dx : +elm.offs_x;
var dy = elm.dy !== void ? +elm.dy : +elm.offs_y;
こう変えて(ロード時に画像のタグは elm に展開されるのでこれで情報が拾える)、
画像で差分を切り抜くときに、まず合成先の全サイズでつくって、ImageMagick とかの oFFs に対応した
ソフトでトリミング&PNG変換処理してそれを使うようにすれば、pimage で dx / dy の指定無しで目的の
位置に合成できるようになる。
ロード速度的にはその png をさらに tlg にしたほうが良い
画像タグの詳細は
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/TPC.html 参照のこと
なるほどねえ
俺は onUnknownTag で処理させてるな。 csv化されたデータを使って表示・再生するには都合がいい。
スライダー(使用したのはおさかな定食のスライダープラグイン)を 右クリックで呼びだすコンフィグ画面上で使ったら、 そこから更に呼び出す履歴レイヤーの上に タブ画像が浮くようになってしまったんだが、 考えられる原因を教えてもらえないだろうか。何とかしたい。
スライダーレイヤのabsoluteの値が履歴レイヤのabsoluteの値を超えてるんじゃね?
お前らが日本語でしゃべれないのをよそ目に、 俺は一つの素材について一つずつしこしこマクロを用意しているのだった。
スクリプターは「究極のマゾ」と「究極のものぐさ」に大別される。
>>317 はまさに前者だな。
プログラマーがスクリプターをやると「究極の自己満(ry
質問です krkr.eXeのeXeは何故eXeなのか気になります
Deeたんの趣味
趣味・・・ 顔文字か何かにみえなくもない
executeやextensibleのようにexとつくときxを大文字にする習慣があるんだよ。 技術用語でこれやるとだいたいの場合間違えだから普通はやらんが。 ×eXtensible Markup Language ○Extensible Markup Language もしかしてマジレス禁止だった?
普通にはじめて知った 文系です
素ボケでした 理系です
はは~ん、つまり、e-Xe、 良~クセ、だよ。
それをわざわざ採用したっていうのは、ホントにDeeたんの趣味だったと思うけどなw 何で見たんだっけな・・・
俺は前にこのスレでみた
すきゃんてぃと少佐のやり取りで、はっきりDeeたんの趣味というやり取りがだな
すきゃんてぃ!またすきゃんてぃか!こいつはいつも俺の前に立ちはだかりやがる!
>>329 俺もどっかで見た
質問掲示板の過去ログだったかな?
Deeタンの答えは「なんとなく」だったと思う
327だった
kag.fore.layers[1].loadImages("test.jpg"); kag.fore.layers[1].visible = true; でなんでエラーが出るんですかぁぁぁ!!! プライマリレイヤーを作ると大丈夫なのにいぃぃぃ!!
>>333 KAG前景レイヤのloadImagesはファイル名以外にも必要な要素がたくさんあるから。
GraphicLayer.tjs嫁
fore.layersの数が1個しか無いってオチじゃないよな [1]が指定するのは「1個目」じゃなくて「2個目」のレイヤなんだけどそこの認識から間違ってるとか
336 :
>>333 :2010/02/27(土) 00:46:23 ID:KY5hBk9f
>>336 GraphicLayer.tjs読んでわからんならお前さんにTJSから前景レイヤ操作は早すぎるので
素直にKAGのimageタグ使いなさい
>>337 じゃあiscript内からkagを使う方法を教えてください
俺もうこいつの相手すんの嫌だから誰かにまかせる
とんずらするくらいなら
>>336 の時点でスルーしてくれ
まあ答えは kag.fore.layers[1].loadImages(%[storage:"test.jpg"]); ってことになるんだが そもそもiscriptでkagを使って何がしたいのかっていう話だよな
GraphicLayer.tjsのどこを読めば
>>341 にたどりつけるんだ?
loadImages
キーボード操作をしたときリンクやボタンの配置にかかわらず オブジェクトのリンク番号順にフォーカスが移りますよね あれを上下左右の矢印キーに対応した動きをさせることは出来ませんか? 下なら下に移動、右なら右に移動みたいなかんじで
KAGで扱うレイヤは何だかんだでLayer.loadImagesが オーバーライドされていて引数がリファレンスのものと変わってる。 とりあえずGraphicLayer.tjsのloadImagesを読めばそれがわかる。 その中でelm.storageとかあるので引数は.辞書配列で読み込むって事もわかる。 ある程度スクリプトを読み解く能力が無いと詰むヒントだとは思う。
elm.storageがあるってのはGraphicLayer.tjs読んだ時点で分かったんだけど loadImages(storage="test.jpg")かな?とか思ったんだけど %[]の形ってどこ見りゃわかるの? まぁようするに初歩的な書式が分かってないって事なんだけど
あぁ、KAGよびだすタメだけじゃなかったんだ。 ググってみつかった式マネして使ってたから知らんかった。 Kagのがディクショナリ型で納められてて、ソレを呼び出す形式だったんだね。
1.elm.storageとかあるので引数は.辞書配列 2.辞書配列を使うのはDictionary クラス 3.loadimage()という式の中に書くから式中辞書配列を使う 4.よって%[storage:"test.jpg"]で「storage」というクラスに"test.jpg"を入れる これであってる?
[eval exp="tf.fire_level=0;"] *loop [link exp="tf.fire_level++" target="*goloop"]level up!![endlink] *goloop [er] [jump target="*loop"] KAGを使って このように同じ場所を何回もクリックするようなスクリプトを作りたいのですが、1度クリックした後に同じ場所で連打クリックしても反応しません。 自分の書き方が悪いのか・・・orz
ネイティブプラグインから添字(間接メンバ選択演算子)参照を 実装したクラスを作成・登録する正統な方法ってないのかな。 var myObj = new MyClass( ); myObj[ i ] = 100; // <- こういうの 組み込みArrayではtTJSCustomObjectから派生してたけど、 tTJSCustomObjectはtp_stub.hに公開されてない。
>>351 [endlink]の後に[s]付けて無いだろう
そのまんまじゃ
1. リンク作る
2. erタグ実行する
3. *loopに飛ぶ(つまり1に戻る)
で延々とループするんじゃね
>>351 リンクはいったん押されると外れるまでもう一度押せない仕様なので
どっか書き換えないといけない。どこだったかな。ちょっと待って
絶対ぜっっったい記述間違えてないのに期待通りの動作をしない。 吉里吉里のバグなんだろうか。 みんなもそういう事ってたまにある?
そんなこと聞く前にここへコードを張るなり公式に報告するなりしろよ 変な防衛線張らずに
そういうときは99%自分の勘違い
>>345 リンクオブジェクトを
00 01 02 03 04
05 06 07 08 09
と並べるとして、上下キー押した時は今フォーカスしてる番号+列数移動するよう設定
俺はonBeforeFocusでそのへんの処理やってるが、もっと効率いい方法はあるかもしれん
つーか、このへん弄りだすと、マウスとキーボードの共存超めんどくせぇから
いい加減なとこで割り切るのも大事かもしれないと思う今日この頃
>>352 C++ベースの独自オブジェクトでよければ PropGetByNum と PropSetByNum を実装すればいい。
ただしその場合はクラスではないので new での生成はできないので、生成メソッドを Scripts とか
適当なクラスの static method としてはやして対応することになる
てっとりばやくつくりたければ tTJSDispatch を継承して必要な部分だけ書けば良い。
TJS のオブジェクトの機能も欲しいなら、TJSCreateCustomObject() で基底オブジェクトの
インスタンスが作れるので、それを保持して他のメソッドではそれに対してブリッジするようにすれば良い
どうしても NativeClass として作った上で new したい場合は、
「数値として解釈できたら数値添え字とみなす」というルールでよければ※1、
生成したインスタンスに対して instance->ClassInstanceInfo(TJS_CII_SET_MISSING, 0, メソッド名)
を呼び出すことで、「指定メンバが存在しないときに呼び出されるメンバ」をエントリできるので、
そこで処理してしまえばいい。
数値名になってるメンバは明示的に辞書書式でつくらない限りは存在してないから、確実に呼び出しがくる。
元のインスタンスに PropSet してしまうと次から呼び出しがこなくなってしまうので、情報は別の形で
記録するようにする必要があるのには注意
※1
残念ながら吉里吉里での NativeClass のベースになってる CustomObject では
PropGetByNum / PropSetByNum は文字列変換されてPropGet/PropSet の呼び出しに
さしかわっていて、missing 処理的に区別されてないのでmyObj["0"] と myObj[0] の区別はできない
>>360 了解しました。ありがとうございます。
myObj = ObjMgr.create( );
結局、こういうシンタックスで生成に対応することに。
そういえばTJS3では(開発止まってるが)演算子オーバーロードができるとか知って狂喜してたんだけど
ファイナライザ廃止とかなんぞそれ?
てっきりスコープと寿命の同期でRAIIとか変態仕様に近づくと思ってたのに。
{
autovar foo = new Foo( );
/* ~ */
} // <- Scope out, call Foo's finalizer (or destructor)
初歩的な質問で申し訳ないんですが、背景とかキャラクターにズームする方法はありますか? 書籍とかサイトを見てもみつからないので…
付属サンプル見ようか
ぐぐったらそれっぽい説明をしてるサイト発見したのでがんばってみます。
/* ~ */ ↑ これが顔文字に見えて萌えちまった俺はそうとうコードに汚染されているのだろうか
>>358 MessageLayer.tjsのonBeforeFocusのところを書き換えるって事ですかね
勘違いしてたらすみません
その場合、設定画面やセーブ画面によってボタンの配置が変わるんですが
場面によって設定を変えてやるにはどうすればいいんでしょう
>>363 付属されてたんですね…見たらあっさりできるように…w
まさかC言語まがいのものまで使うことになるとは…
ムービー作れるってだけでプログラム任されたけど、安請け合いだったかな…
C言語……だと……
あ、スクリプト言語…?; まぁ、素人の自分にとってはどっちも似たようなもんですorz
>>361 >myObj = ObjMgr.create( );
これだとcreateはファクトリクラス(ObjMgrのクラス)の(場合によってはシングルトンな)インスタンスを得る
ファクトリメソッドになるのが普通だからmyObjが返されるのはおかしいぞ。
myObjを返すファクトリメソッドならcreateMyObj()か、そもそもファクトリクラスやめて
対象クラスにpublic staticなファクトリメソッドを直接持たせた方がいい。
ていうか「マネージャ」やめろって言われなかったか?
こうだろ↓
MyObjFactory
------------
・公開されてないコンストラクタ
・public static ObjFactory create
・public MyObj createMyObj━┓
┏━━━━━━━━━━━━━┛
↓
MyObj
-----
・公開されたコンストラクタ
・foo
・bar
http://www.radiumsoftware.com/0603.html >ふとコードベースを見回してみると,「なんとか Manager クラス」がそこら中に溢れていることに気付く。(略)
>このように,クラス名に "Manager" という接尾語を用いていることは,そのクラスの設計に不備があることを暗に告げていると考えることができる。
>このような,クラス名から伝わってくる「兆候」 ― いわゆる "code smell" [Wikipedia] は,他にも幾つか見つけることができる。例えば "Object",
>"Handler", "Data" などがこれに含まれる [C2Wiki] 。これらの接尾語をクラス名に見つけたならば,そのクラスの設計を見直すことを考えた方が
>良いかもしれない。
公開・共同開発するようなものなら分かるけど、自分で作って自分で使うぶんにはさほど気にしなくてもいいんじゃないかと思う俺ガイル
所詮吉里吉里だしね
>>370 話の流れ的に、返してるのはそもそも「吉里吉里のクラスのインスタンス」じゃない。
あくまでそういう機能をもった独自ネイティブクラスを返すための入り口なので、クラスの枠組みの外に
あるものなので、その指摘は見当外れ。
「吉里吉里のクラスのインスタンス」かどうかは関係ないだろ
>>354 さんは戻ってこないかな(・ω・)
検索しかたもよくわからなくて・・・orz
すみません、アンチエイリアスを特定の場面でだけfalseにしたいんですけど (小さい文字を表示する時にアンチエイリアスtrueだとよく見えない) この場合はどうすれば良いんでしょうか?Config.tjsで変更すると全部falseになってしまうので…
>>374 354じゃないけど、KAG System リファレンスの「選択肢を使おう」のページにあったよ。
>Note
>選択肢は一回選択されると、新しい選択肢が表示されるか、unlocklink タグが実行されるまでは選択することはできません。
>また、すでに画面に表示されている選択肢を選択不能にするために locklink タグがあります。
>通常の記述ではこのことは気にする必要はありません。
>>376 なんとリファレンスにあったとは・・・orz
ご丁寧に説明文まで張っていただいて、なんとお礼をいっていいのやら
早速試してきます!本当に有難うございます
>>375 そこだけTJSで書くしか思いつかん……
F10をショートカットに使いたいんですがデフォルトで何かが割り当てられています MainWindow.tjsにはそれらしいのが見当たらないんですが、どこを弄れば無効にできるんでしょう
AfterInit.tjs(無ければファイルを新規作成)に global.testFunc = function(key, shift){ if(key == VK_F10){System.inform('どう?'); return true;} }; kag.keyDownHook.add(global.testFunc); とかやってもダメ?
>>380 ためしてみましたがうまくいきましたが、今やろうとしているのが
F10でサブルーチンを呼び出して、もう一度押すと元に戻る
と言う物なんですがF10を使うとAltを押したときみたいにフォーカス?がメニューバーのところにいってしまいうまくいきません(二回押さないと閉じない)
これはtjsファイルを弄っても無効にできないんですかね
なんか重くね
>>381 >F10を使うとAltを押したときみたいにフォーカス?がメニューバーのところ
C++の標準Windwの仕様とか、そんなんだと思うが、そこら辺は自分は知らない。
力になれなくてごめん。他にレスつくといいね。
自分がダメ元で試すとすると、
メニューに当該項目つくって、吉里吉里のMenuItemクラスのshortcutを利用ってぐらいかな。
>>383 レスありがとうございます
とりあえずメニューに追加してみます
>>378 ありがとうございます。
そこだけTJSで書く方法だと、どのような感じにすれば良いのでしょうか…すみません。
最近KAGみておもうんだけど設計が古い。 F/Wとして枯れてるのと設計が古いのとは話が別なんじゃーっ! て、思う。 拡張ポイントは多いけどKAG自体はフレキシブルじゃないし、再利用性も低い。 一度システム組んだらそのシステム使い続けてね♪みたいな。 挙動変えるのにいちいちコア部分のソースいじるのがリスクが高い。 いじる方法がほぼ継承に依存してるのも拡張方法として限界がある。 タグハンドラを気軽に差し替えたかったんでソースに一切手を加えることなく実装を 用意したら自動で認識するようにしただけでかなりの変更を強いられてしまった。 再開発したいが次期吉里吉里が開発中の際に現行のKAGを作り直すようなマネは出来んし、せめて吉里吉里3のロードマップさえ出れば・・・。
>>386 いや別に現行の吉里吉里作り直して晒してくれていいよ? 吉里吉里3が出たらまた影響死合えばいいし。
前もKAG全部書き換えたって人いたし。晒してくれなかったけど。
KAGは単純に「それなりのADVを作れる為にそれなりの機能を用意する」ってだけであって それ単体で内部構造やら何やらを根本的に差し替える為に作られた物ではないだろう。 むしろ「それなり以上」の機能を実装するんだったらその都度コアソース弄る方が本来正しいんじゃね? TJS使えば達成出来るんだから素直にTJSで書いとけ。 原付乗ってて「高速道路ビュンビュン飛ばしたいけどエンジンがクソだから走れねえよ><」って喚いてるみたいなもんだぜ そもそもソレはその為に作られたブツじゃねえだろうよと
すごい今更なんですが
>>167 の方法でダイアログを出すとき、モーダルにする事って出来ますか
>>388 いちいちソース書き換えが正しいなんてないわ。
>TJS使えば達成出来るんだから素直にTJSで書いとけ。
プログラミング言語使えばプログラム組めますって言ってるのと同じなんだが何が言いたいんだ?
brainfuckはチューリング完全だからWindowsをbrainfuckに移植できるよな
>>390 >再開発したいが次期吉里吉里が開発中の際に現行のKAGを作り直すようなマネは出来んし、せめて吉里吉里3のロードマップさえ出れば・・・。
要するにうだうだ言わずオリジナルの新KAG作って晒せばいいだけの話だ
>>389 親窓指定できないので無理かと。
レポジトリにあるWin32Dialog プラグインならこんなかんじ
Plugins.link("win32dialog.dll");
Debug.console.visible = true;
class MyWindow extends Window {
function MyWindow() {
super.Window(...);
add(new Layer(this, null));
primaryLayer.setSize(innerWidth, innerHeight);
}
function onClick() {
var ret = WIN32Dialog.messageBox(this, "おっけ-?", "きゃぷしょん", WIN32Dialog.MB_YESNO);
switch (ret) {
case WIN32Dialog.IDYES:
Debug.message("はい");
break;
case WIN32Dialog.IDNO:
Debug.message("いいえ");
break;
}
}
}
var win = new MyWindow();
win.visible = true;
>>390 おまえさんの言いたいことがどう見ても「KAGじゃまともなプログラムが組めねえよ」と言ってるようにしか見えないから
「KAGはプログラム言語じゃねえだろ」と言ってやったんだが。
コレはあくまでシナリオを書く為のモノであって内部挙動を都度弄繰り回す為のモノではないだろう。
むしろやってくることは単なる「TJSを使って『シナリオ作成に特化したそれなりのシステム』を組んだ」に過ぎないんだから、
それなり以上の事をやりたけりゃ親元のTJS弄るのが妥当だってこったよ。
自分が言わんとしてる事が違うというならまず自分の書いた
>>386 を読み直せ
質問です。 メインシナリオのKsファイルの途中で右クリックサブルーチンから別のKsファイルのシナリオを読ませて それが終わったらサブルーチンに戻ってくる挙動をつくりたいのですが、どうすればいいのでしょうか?
win32dialog.dllってどこにあるのだ・・・
そもそも「拡張方法がよろしくない」ってのは「まともに機能追加出来ない」ってのとは違うんだよな 要は書き方がアウトローになるからそのプログラマの哲学に合致しないコーディングになりうるってだけであって 最終的にプログラマの気分次第だって話よな。コア部分弄るのに価値を見出す奴も居るし。 「コレやりたくない」と「コレ出来ない」は話が別だってことで
熊野にんちさんの雪プラグインの改造を見ながら下から上に出るようにしました。 しかし、最初にどばっと出てあとは全くでないようになってしまいました。 どうしたらずっと出るように出来ますでしょうか? よろしくお願いします。
if(t >= window.primaryLayer.height) { t = -fore.height; l = Math.random() * window.primaryLayer.width; } で画面下まで進んだら画面上まで押し戻すって処理をしている あとは分かるだろ
400 :
398 :2010/03/04(木) 09:26:42 ID:pmArOxET
>>399 アドバイスが的確すぎて感動しました!
ありがとうございました!
>>394 >どう見ても「KAGじゃまともなプログラムが組めねえよ」
拡張性と拡張方法に設計由来の無理があるって言ってんだろうが。
KAGのコア部分のソースいじれって本家が更新されたらどうやって整合性取るつもりだよ?
KAGのソース直接書き換えてエンバグするリスクはどう対処するんだ?
だいたいKAGがTJSで書かれてるからTJS触るに決まってんのにTJSでいじれだとかKAGはプログラム言語じゃねぇとか意味不明なんだよ。
KAGのマクロで書くとでも思ってんのか?
おまえが話を理解してないだけだろ。
YES/NOダイアログに、レンダリング済みフォントをマッピングしたいのですが、ヒントをください。 自力で粘ってみたのですが、限界が来ました……。
俺なんて固定幅しか出せんから字がハミ出してるんだぜw
KAGの設計が古いことに異論はないけど、完成度は高いから、 文句があって新しい設計を要望するなら、作り直し以外の選択はないよね
作り直しでいいと思う。 不満があるならわざわざKAGの流儀に付き合う必要はない。 KAG3に匹敵する安定性を得るまでに相当のデバッグが必要になるけどね。
>>401 いいから自分の好きなように作り直せよ
それがいちばん現実的な解決法だろ
仮にもオブジェクト指向をサポートしてるtjsで書いてるんだから オーバーライドで処理を追加・変更すればかなりリスク軽減出来るだろう。 それで対応出来ない程の変更を加えるつもりならどう考えてもKAGの目的に反する使い方をしているだけ。 KAGは基本的にプログラミングに慣れてない人の為にある「ゲーム用フレームワーク」だよ。
>KAGのコア部分のソースいじれって本家が更新されたらどうやって整合性取るつもりだよ? >KAGのソース直接書き換えてエンバグするリスクはどう対処するんだ? 炊き出しで豚汁をもらったホームレスが「イスラム教徒がいたらどうするんだよ?」とか言ってるレベル
ボランティア「次の方~」 炊き出しで豚汁をもらったホームレス「イスラム教徒がいたらどうするんだよ?」 ボランティア「え?」 炊き出しで豚汁をもらったホームレス「イスラム教徒がいたらどうするんだよ?」
401がそこまでして吉里吉里使ってる理由がわからない 自分でエンジン作ればいいんでね? 他行ってほしい
定期的に変な人が来るよな、このスレ
それはどこのスレでも同じこと
自分に実力がないのを棚に上げて ツールのせいにしたいんだよw
>>401 そもそもオマエの言う「KAGのコア部分」って何を指してんだ?
本家の吉里吉里のソースコードとKAGを混同して「本家のCコード全てがKAGだろ」と言い切っちゃうバカなのかと思ってたけど、
TJSで書かれてるって事を知ってる辺りMainWindow.tjsの中身がKAGの中枢だって事は把握してんだろ?
まさかgetHandlers()辺りを書き換える程度の事を「コア部分のソースいじって本家が更新されたら~」とか言っちゃってるんじゃないだろ?
KAGがいじりづらいのは設計が古いとかいう問題じゃないよな 単にソースが汚いんだよ
現状に不満を抱く親切な誰かが いつかどうにかしてくれるといいですね☆
質問です メッセージ履歴表示中はウィンドウを自動で消去、履歴を閉じると復帰するようにしたいんですが どこを書き換えればいいんでしょう
>>418 メッセージレイヤーを隠す
kag.hideMessageLayerByUser();
表示
kag.showMessageLayerByUser();
これを
HistoryLayer.tjsの
clearBack(n)関数で隠し・function hide関数で表示
もしくは
MainWindow.tjsの
showHistory関数で隠す・hideHistory関数で表示
みたいにすればいいんはないか?
どっちか好きなほうに書き加えるといいよ
421 :
名前は開発中のものです。 :2010/03/07(日) 00:10:23 ID:STUlv11p
吉里吉里って、べき乗の演算子使えないの?困った。
Math.pow(a, b) で a の b 乗 b が固定の整数の場合は a*a*a などと書いた方が楽な場合も
むしろできる言語のが少ないような…… Math.pow でダメな理由は?
少ないかどうかは根拠が不明なような
メジャーな言語でべき乗の演算子がないのは見たことがないな。 アセンブラはないだろうけど、BASICってどうだったっけ。
CもC#もJavaも無いぞ?
COBOL以外はマイナー言語
>>426 ホントだ……なんか勘違いしてたみたいだ。
メジャーな言語なら、べき乗はあるべきだじょう
べき乗は普通^だけど C系列だとビットかけあわせになるしね! おっぱい!いっぱい夢おっぱい!
^でなければ**かな
キーを押したときjumpタグのような動作をさせたいのですがTJSではどう書けばいいんでしょう kag.setRightClickOptions(%["call" => false, "jump" => true, "storage" => "menu.ks", "target" => "*exit", "enabled" => true]); kag.onRightClickMenuItemClick(); 今は一応上のようにしているんですが、実行するたびに右クリックの動作がかわってしまうのでそこがどうにかならないかと・・・
事故解決しました ごめんなさい
吉里吉里を終了するときにエラーが出て終了するようになってしまいました。 エラーとは、「Windowsのエラー音が鳴り、スクリプトエディタとコンソール画面が一瞬見える」ことです。 画面がすぐに消えてしまうので、どこがエラーの原因なのかも分からず困っています。 どうしたらいいでしょうか。
吉里吉里のログを読め まずはそれからだ
kag.close使ってるならそのエラーだと思うよ
kag.closeByScript(%['ask'=>'true'])
質問です 吉里吉里製の市販ゲームを自分用に改造することってできますか
そんな餌には(ry
KAGEXについて比較的詳しく解説しているサイトってないかね? タグの意味を把握するのにも一苦労する。
442 :
435 :2010/03/08(月) 05:44:27 ID:5xuFSxFJ
レスありがとうございます。 吉里吉里がログ吐いてるなんてこと知りませんでした……。 (どうやら、無効になったオブジェクトにタイマー関数がアクセスしているみたいでした。) kag.closeは、自分では一切記述していません。 (systemフォルダにあるソース(.tjs)には、いくつかclose()としているところがありました。) 試しに自分でシナリオに [eval exp="kag.closeByScript(%['ask'=>'true']);"] としても、結果は変わりませんでした。(この命令で終了し、エラーが起こる。) 結局、タイマーをデストラクタのところでinvalidateさせることで解決した気がするのですが、色々悶々としてます。
また質問です。 メッセージ履歴で会話文をクリックすると、その会話文のボイスファイルが再生されるようにしたいと思ってます。 そこで会話用マクロを、 [macro name="kaiwa"] [eval exp="tf.voice_file = 'voice/' + mp.se_file"] [hact exp="playVoice(tf.voice_file)"] ~~(会話表示用処理)~~ [endhact] [endmacro] のように作りました。 しかし、hactタグを使って [hact exp="playVoice(tf.voice_file)"] とすると、履歴から再生するときには新しい(hact設定時とは違う)tf.voice_fileの値が入ってしまい、一番最近のボイスファイルしか再生されなくなってしまいます。 解説サイトを見ると、 [hact exp="&playVoice(tf.voice_file)"] のように&を付けることで解決できるとありますが、&をつけると[hact]を設定した履歴文章をクリックすることすらできなくなってしまいます。 どうしたらいいでしょうか。
手っ取り早く KAGリファレンス→TJSをもっと使うために→ hact タグの応用
吉里吉里で打ち消し線(HTMLで言うところの<S></S>) を表現する一番スマートな方法ってどんなんかね?アイディア求む。
一番スマートなのはFont.strikeOutだと思うけど あれってもう実装されてるんだっけ?
chタグも最終的には内部でdrawTextを呼び出してる訳だから どうにかしてdrawTextの開始座標を取得してそっからfillRectで1本線引いてやればいいんじゃね
448 :
443 :2010/03/08(月) 21:12:32 ID:5xuFSxFJ
hactタグの応用 も見てはいたのですが、今あらためて見てやっと意味が分かりました。 ありがとうございました。
セーブデータを消しても未読がスキップされていくのですが、 設定いじった覚えはないのに、未読のはずのテキストも吹っ飛んでいくんです。・゚・(ノД`)・゚・。 何がいけないのかもさっぱりです。 解決策ってないですかね。 吉里吉里2 ver2.30/ KAG3 3.30で製作中。
全スキップさせてるんじゃねえの。単純に。
メニューから「次の選択肢(/未読)まで進む」を押すと 未読部分で止まるんだと思ってたんですが、誤りでしょうか。 シナリオ部分にはskipの類は使ってないんですが。 全スキップの項目みたいなのがあるんでしょうか。
>>451 未読範囲=ラベルからラベルまで
だから
*Start|おためし
あいうえお
かきくけこ
*test|ここまで
さしすせそ
たちつてと
これを
*Start|おためし
あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
はひふへほ
*test|ここまで
まみむめも
こう書き換えたら、「*test|ここまで」は既読扱いになるから追加した「さしすせそ」~「はひふへほ」も全部スキップされるよ
丁寧に解説してくださってありがとうございます! ラベル間は全部既読な扱いになってしまう、ということは ラベルの間で未読の判断をさせたい場合「どこでもセーブ」のようなプラグインを使用するか ラベルをマメに挟んでいくしかないということでしょうか
わかりにくかったかな シナリオファイル名+ラベル名で既読判定してるから シナリオファイルを章立てにして [Scenario]――[一章] 01.ks 02.ks |――[二章] 01.ks 02.ks |――[三章] 01.ks 02.ks |――[四章] 01.ks 02.ks []=フォルダ こんな感じにしてると、一章の01.ksで読んだラベルと同じ名前のラベルが他の01.ks にあると既読扱いになるから注意
教えていただいた記事を参考に プレイしやすくなるように、ラベルの位置等 見直してみます。 本当にありがとうございましたー。
>>377 超ごめん! 思ったより面倒だったので悩んだ末忘れてた。
もう読んでない気がするけど、もしunlocklinkで上手くいかなければ[s]の前に
[eval exp='kag.current.selClickLock=false']入れて。
マウスを一定量動かさないとリンクが使えないロジックを飛ばせる。
ただ、これだけだとlastLinkが更新されないので
lastLinkを使ってる場合は、MessageLayer.tjsを修正する必要がある。
hactリンクからcallする文 [hact exp="kag.callExtraConductor(~~・・・]で履歴レイヤーより上にメッセージレイヤーを開く処理を置いたのですが フレームを貫通して後ろのの履歴レイヤーのhactリンクが押せてしまうため、 call中は履歴のリンクを無効化しようと思って [eval exp="kag.historyLayer.setSelProcessLock(true)"] を挟んだのですが、肝心の↑のところでバグを吐いてうまくいきませぬ・・・。 正しい文章ではないのでしょうか? また、その後に[rclick ~~]を入れて右クリックで[return]して履歴に戻る形にしたうのですが、 実際に右クリックしてみると履歴閉じ処理が優先して処理され 右クリックで[return]して履歴に戻る前に、履歴が先に閉じてしまうという間抜けな処理になってしまいます。 履歴上の右クリック処理を一時的に封じるにはどうしたらいいでしょう? ×history→hact(call)→messageレイヤー開く→(右クリック)history閉じる→(右クリック)return→message閉じる ↓ ○history→hact(call)→messageレイヤー開く→(右クリック)return→message閉じる→(右クリック)history閉じる
>>458 kag.historyLayerのモーダルを解除
hitThresholdも256にしてやらなきゃかも?
用が済んだら元に戻しておく
これで動くといいなぁ
>>459 ありがとうございます。うまくいきました
パソコンいじってたら去年の夏の奮闘記録が出てきたから晒そうとおもう まあ、シナリオライターから誘われて、そのライターがやる気なくして頓挫するまでのデータだから 枠組みぐらいしかできてないんだが(俺スクリプト担当だったし He_268175.zip (わかると思うが、うpろだは斧 パスは kirikiri やったこと ・ctrlスキップ実装した ・仮当て用のメーカーロゴと各種パーツ自作した ・config.tjsとかその他もろもろ少しいじった ・セーブ・ロード画面作って、コンフィグ画面作ってる当たりで、シナリオライターのやる気がなくなって頓挫 需要はあるのかわからんな、あってもはたして役にたつのか まあ、初心者には役に立つ場合もあるかもしらん KKDEのプロジェクトデータついてるからそこから開いてくれ 背景画像のフォルダのやつだけ転用禁止で、あとはどうにでもしてくれ 残りの画像は仮当て用の自作だから 今後製作再開する気もないしどうぞどうぞ、しょぼいけどね 俺は挫折したけどみんなは頑張ってくれ
エロがなかったでござる
桜子はたぶん面倒見のいいメガネっ子
良く分からん、どこに上がってるのか教えてくれ。 2ch初心者なんだ。
エロがなくてがっかり
セーブ・ロード画面、格好良かったよ。
よくわからんがつまり 各自が自分でこしらえた吉里吉里の枠組みをうpする流れってことですね
BigIntクラスとかSplashScreenクラスとか 汎用Serializationフレームワークならそろそろ公開してみたい。
見返してみてあらためて思ったが、すくりぷたが最初につまずくのって ・サブルーチン時含むセーブまわり ・クリッカブルマップの設定 ・exp="kag.***" じゃないだろうか、参考サイトがないわ古いわ、どうすりゃいいんだ ctrlスキップの実装もあやえもんのまんまじゃエラーはくし あとは ・マクロの使いどころ ・レイヤの割り当て ・再描画の指定とタイミング あたりが鬼門
>>461 デザインが格好良いので是非とも使わせて貰いたいがコンフィグ画面は無いんだよね?
セーブ・ロード画面を真似て自分で作ってみるつもりだけどセンスに自信がない…
>汎用Serializationフレームワークならそろそろ公開してみたい。 むしろDeeたんにかけあって公式にマージしてくれ。 というかどんな仕様かkwskたのむ。実装の参考にする。
>>471 >>exp="kag.***"
吉里吉里触りだして数年だけど、今だに↑は知らんタグだらけだわ
使いこなせれば便利なんだけど、リファでも載ってないのがいっぱいある・・・
どっかにまとめてるサイトとか無いもんですかね?単語が単語だけにググってもロクな結果がでねぇ・・・orz
セーブとクリッカブルは、吉里吉里触りだした頃に買った本についてたサンプル解析して学んだ
>>474 どうでもいいが、タグじゃないだろそれは
>>473 残念ながら実行環境を丸ごと保存とか、そういう糞便利な代物ではない。
インタフェースはC++のBoost.Serializationを真似ている、
というか処理はBoost.Serializationで実装してる。
BoostがわからなければMFCのシリアル化のような感じと言ってもいい。
具体的には
1.TJSで各クラス用のシリアライザを書いて登録
2.インスタンス情報を元にシリアライザが階層的に呼び出される
3.文字列またはオクテット列で保存/復元
要はシリアライザが書けるクラスインスタンスなら(書きさえすれば)シリアル化可能。
なので、インスタンス同士が強い依存関係にあるLayerなどはシリアル化しにくい。
(別に一元管理クラスやプロクシクラスを作ってやればできなくもない)
適当なチュートリアル
http://www.uproda.net/down/uproda009403.txt
quakeタグ、リファレンスにはwqで待てっていうことはないのだけど、待つ必要はあるの? トランジションとかは待つようにするべきだと思うんだけど、quakeもそうなのかなぁということで。 (別に待たなくても、ちゃんと動いている……と思われる。)
pngをtlgに変換しようとしたらpng→pngで変換してしまった・・・ 半透明の部分がすごく汚くなってしまったんだが 直す方法ってないかな? また1から作り直しか・・・
>>478 スキップした時とかに、揺れて欲しいのはここまでって明示しとくと幸せになれる
待つ系のタグはどれもそんな感じ。
そういや、みんなは始めのトランジションってどうやってる? 画像の大きさが合わないでしょ。 俺は全部の大きさについて透明な画像を用意して、先に表示させてるけど。 コレ思いつかなかったらキリキリやめちゃうんだと思う。
482 :
478 :2010/03/10(水) 14:34:58 ID:UMUNlC5x
うぃー、ありがとう!
>>481 透明な画像ってよくわからんけど
[backlay]
[image page=back ~]
[trans ~]
[wt]
俺はこんな感じでやってるけどなんかダメだったのか
>>472 デザイン・・・いいか?
元の画像のデータ、psdファイルでよければうpするがいる?
コンフィグ画面はゲームの仕様によって内容変わるからなー
決めてる最中に頓挫したから未完成でございます
>>481 layerにbase以外を指定するときは同一の大きさで、ってやつか?
>>483 の言う通り、[backlay]使っていればわざわざlayerをbase以外で
指定する必要はないと思うが
486 :
472 :2010/03/10(水) 20:23:55 ID:llyWGFga
>>484 是非お願いします!
こういうシンプルなデザインってフォントのサイズとか配置とか
ちょっとしたことで格好良くも悪くもなるから自分には難しいんだ
487 :
461 :2010/03/10(水) 21:55:30 ID:2wB30mIy
>>486 ほい
Ne_76923.zip
わかりやすいように整理したつもり
コンフィグ内ボタンは作ろうとした形跡はあるが、役に立つほどできてない・・・
拡大すればわかるが、単純な作りなんで作ろうと思えばすぐできるよ
とりあえず見てみてくれ、フォトショかSAIなら開けるだろうさ
場所とパスはは斧うpろだで kirikiri な 加工、転載、追加等なんでもしてやってくれてかまわないよ 役にたったなら幸いさ
rclickでcallしてる最中に、kag.cllExtraConductorを使ってさらにcallすると、call呼び出し深度が自動的に1にされてしまうのですが (深度3になるはずのケースでも1にされるのを確認) 正常な深度にする方法はないものでしょうか? 例えば↓の場合、深度は0→1→2→3→2→1→0となるはずなのに、0→1→1→2→1→0→エラー、となってしまいます。 *main [r] [rclick enabled="true" call="true" storage="test046.ks" target="*rclick"] ここは素。深さ[emb exp="kag.conductor.callStackDepth"][r] 右クリックで次に進む。[r][s] *rclick [r] ここは右クリック中だお。深さ[emb exp="kag.conductor.callStackDepth"][r] [font color="0xFF0000"][link exp="kag.callExtraConductor('test046.ks' , '*rclick_to_call')"]ここ押して追加コール![endlink][resetfont][r][s] *rclick_to_call [r] ここは右クリからきたコール1中だお。深さ[emb exp="kag.conductor.callStackDepth"][l][r] [call storage="test046.ks" target="*rclick_to_call2"] [r] ここはコール2から戻ってきたコール1中だお。深さ[emb exp="kag.conductor.callStackDepth"][l][r] [return storage="test046.ks" target="*rclick_return"] *rclick_to_call2 [r] ここはコール1からきたコール2中だお。深さ[emb exp="kag.conductor.callStackDepth"][l][r] [return] *rclick_return ここは右クリックリターン中だお。深さ[emb exp="kag.conductor.callStackDepth"][l][r] [return storage="test046.ks" target="*main"]
491 :
486 :2010/03/11(木) 02:38:24 ID:2qI8en9F
>>487 早速うpありがとう!
ゲームの完成はまだ先(多分来年あたり)だけど使わせてもらうよ
システム回りの素材ってなかなか無いし、たまに見つけても
女向けの甘いデザインばかりなので本当に嬉しい
現在メッセージレイヤーに表示されてるテキストが格納されてる場所教えてください・・・ どこかで見た気がするけどひっかからない
>>492 過去ログであったよ.[m]だか.[message]だかだったと思うから調べてみるよろし
>>493 回答どうもです
でもこのカギかっこ?みたいなのってどうやってフレーズ検索すればいいんだ・・・
messageで大量にひっかかる
kag.historyLayer.data(HistoryLayerクラス) じゃなかったっけか。dataは配列な HistoryLayer.tjsの"function getLine(n)"とか"function getPage(n)"辺りを見てみれ
Number : 7474 Title : メッセージレイヤに表示されている文字列を取得したい 公式過去ログのタイトル一覧であさったらこんなのあったから調べてミソ
Number : 11419 Title : 現在表示されている文字の取得 これもあった 解決したらここに書いといてね
>>495-497 有難うございます。無事解決しました
11419の方は、そこに書き込んどけって意味なら消えちゃってました
メッセージレイヤの後(ベースレイヤ?)にvideoを再生する方法を教えて下さい。
>>499 ググろう→"吉里吉里 レイヤ描画モード ムービー 再生"
現在再生中のBGMのファイル名を取得する方法はありますか?
>>502 ありがとうございます
どうしても思い出せず困っていました
animstartタグで、asdファイルを指定する事は出来ませんか? ファイル名がバラバラの画像が多数あり、全て同じasdファイルを使用したいのですが 画像のファイル名とasdファイル名を合わせないといけない場合、画像と同じ数だけasdファイルを用意しなくてはならなくなり 非常に大変です
AnimationLayer.tjsの、「function startAnim」と「function loadAnimInfo」に書き加える事で (多分)解決しました。
TJSでSTG・ADVを制作しています。 KAGでのADVとTJSでのSTGを組み合わせて一つのゲームとするプロジェクトです。 まずは、勝手のわからないTJSのSTGから手をつけているのですが・・・スクリプトを書いて、実際にプレイしてみると、非常に重いのです。 原因はおそらく、画像ごとにひとつのレイヤー(自機には自機の、弾幕も弾一つ一つにひとつのレイヤー)を与えているからだと思うのですが・・・Tonyuほど使い勝手がわからず、これ以外の解決法がわかりません。 調べてみると、PNGをTLG5,TLG6にすると軽くなったなどの声はあったのですが、大した変化はみられず・・・。 何かいい方法はないでしょうか
解決しました。 同じ画像の場合、一度しか読み込まない という命令を書き上げたところ、軽くなりました。
>>507 私が作ってるのはSLGですが、随所にアニメーションを入れています。
クリップ方式の場合、全くストレスないアニメーションが可能ですが、
レイヤを直接動かすとチラつきが気になりませんか?。
STGの場合、クリップ方式でアニメーションさせる訳にはいかないと
思いますので、その所どうなのか知りたいです。
レイヤは数が増えるとモタつくこともあるので、ある程度一枚にまとめると早い事もあるみたい。 座標を配列なんかで管理して、copyRectでがばっと描き込む。 作った式がおかしかった場合も派手に狂うので気付きやすいという側面もあるとか無いとか。 Continuousハンドラが大量発生してた事のがボトルネックだったみたいだけど、どちらにせよ 骨組み作る時点でちょっと考えといた方が良いのかなーって思う。
>>507 何度も読み込むような処理が走ること自体がまずいだろう。設計を見直したほうが良いような。
あと、弾幕とかなら読み込むの自体が無駄で、ベースになってるレイヤから assignImage するべき
>>508 STGに限らず大抵の場合クリップ方式がアニメーションの性能的には無難だよ。
ただ、KAG の AnimationLayer の asd 処理はレイヤの数だけタイマ処理が走って無駄が大きいから、
STG のように大量のオブジェクトを扱うなら独自の単発動作する更新処理を組んだほうがいいだろうね
デフォルトで上のメニューバーのシステム(S)にある“自動的に読み進む”を押したときと同じ挙動をする関数ってどれ? MainWindow.tjsにあるenterAutoModeかと思ったけど、これだと読み進んでくれないよね?
Menus.tjsの20行目辺りで >systemMenu.add(this.autoModeMenuItem = new KAGMenuItem(this, "自動的に読み進む(&A)", 0, > onAutoModeMenuItemClick, false)); って書いてあるんだから、onAutoModeMenuItemClick() がそれに該当するんじゃね
>>512 そういう探し方すればよかったのね。ありがとう。
また、511の訂正として、たぶんenterAutoModeでも読み進んでくれる。
しかしこれ、右クリックメニューからの実装だと何故か動いてくれないんだが;
普通にシナリオ内に
[eval exp="kag.onAutoModeMenuItemClick()"]
と書いたら動作するけど、
*rclick
[eval exp="kag.onAutoModeMenuItemClick()"]
[return]
としてコレをrclickに対応させてもkag.autoModeはフラグ立つけど読み進んでくれない;;
>>513 右クリックにオート割り当てるとか俺の感覚的には理解できないけど、
とりあえずrightClickHookあたりに突っ込んでみたら?
リファレンス→TJSをもっと使うために
もちろん右クリックがそれだけってことはないよ。 513は簡単のために3行にしちゃったけど。 ほんとはセーブ・ロードとかも出すけど、そういう選択の1つとして自動読み進みが欲しかったの。
516の優しさに泣いた
タイマは手間だから、pendings につっこむのが楽かね。使い方は過去ログググれ
通常の使用では問題ないと思いますが 「HistoryLayer.tjs」の 200行目が dic.currentLine = dic.currentLine; となっています。 もし、中に近い人、いらしたりしたら対応をよろしくでございます ですますとかちょっと思ってみたりしてみたり…
公式でおk
522 :
519 :2010/03/18(木) 23:13:45 ID:SA9ous/F
>>520 イレギュラーなお試し改造(セーブラベル位置以外で、メッセージ履歴を保存)で
躓きましたが、バグではない些事で公式には書き込みずらかったのです。
ほっとくと、忘れちゃうよでありますよですし…
>>521 ありがとうございました。㌧㌧。
523 :
名前は開発中のものです。 :2010/03/19(金) 01:24:31 ID:rqesIT3K
既出でしたらすみません・・・ 質問させていただきます 配布するところまでいったのですが、 Releaserでファイルをmp3にしようとすると このエラー報告には、問題が発生した時の krkrrel.exe の状況に関する情報、 使用しているオペレーティング システムのバージョンおよびコンピュータ ハードウェア、 ライセンスの確認に使用可能なデジタル製品 ID、コンピューターネット プロトコル(IP)アドレスが含まれています。 等というエラーが発生してしまいます・・・ どうすればよろしいでしょうか・・・? 場違いでしたら申し訳ありません・・・
mp3だからしょうがない
>>523 古いバージョンのreleaserを使えば回避できる
xp3と書こうとしてmp3って書いてるんじゃないだろね?
527 :
523です :2010/03/19(金) 10:41:11 ID:rqesIT3K
ごめんなさい;
xp3 でした・・・
>>523 さん
古いバージョンとはどこでダウンロードできるでしょうか?
528 :
523です :2010/03/19(金) 10:44:01 ID:rqesIT3K
mp3じゃなくてoggにすればいいじゃん・・・
530 :
523です :2010/03/19(金) 11:17:24 ID:rqesIT3K
>>529 さん
ごめんなさい・・・xp3の間違いです;
バイナリが壊れてるってオチ?
>>523 Releaserだけが不具合が出るの?
吉里吉里本体での実行は問題なし?
533 :
523です :2010/03/19(金) 16:38:10 ID:rqesIT3K
>>532 さん
はい
Releaserだけなんです・・・
古いバージョンの方でやってみたらなんとかできました
ご迷惑おかけしました・・・
後もう一つ質問よろしいでしょうか・・・
全てのendを終えたらタイトル画面にでてくるおまけは
どうやればできるでしょうか・・・?
何度もごめんなさい;
>>533 システム変数でフラグ管理。
・・・っつーか、リファレンス嫁。条件式とかの所。
アルゴリズムは自分で頭をひねれ。
>>533 システム変数にクリアしたか否かを入れておく。
システム変数についてはマニュアル参照
536 :
523です :2010/03/19(金) 19:02:48 ID:rqesIT3K
>>534 さん
>>535 さん
すみません;
なんとかできました ありがとうございます!
お邪魔いたしました・・・
はじめまして。 今のところタグ打ちだけで紙芝居ADV作っている者ですが、 質問よろしいでしょうか? マクロにcondタグを付けた場合、例えば下のような場合処理が軽く なったりしないものなのでしょうか? [macro name="アトピー豚"] [cm] [ロード時に前の場所に応じてトラジションするマクロ cond = !tf.playing] [名前枠を最初だけアニメーションさせるマクロ cond = tf.speaking != buta] [eval exp=tf.speaking=buta][current layer=message2 page=fore] アトピー豚 [current layer=message0 page=fore][delay speed=user] [立ち絵を変えたり揺らしたりするマクロ cond = mp.symbol !== void] [endmacro] *seen000|vs振り込め詐欺 [アトピー豚 symbol="buchigire02"] 「もうっ!! お姉ちゃんに言いつけてやるかんな!」[hrp] 自分の環境では元のタグにcondを付けて並べてみた場合と比べて何も変わりませんでした。 スキップ中のcpu使用率が減るわけでもなく、体感的に軽くもなりません。 何か無駄なことをしていた気がして……詳しい方がいらっしゃれば、よろしくお願いいたします。
すみません。再度失礼します。何度挑戦しても行き詰まってしまいます。 どなたかYES/NOダイアログ内にレンダリング済みフォントを 使うためのヒントを下さらないでしょうか? 初心者ながらに、この山は越えたいんです。お願いします、お願いします。
>>539 YesNoDialog.tjsに一行足してみたら普通にできたよ。
// メッセージの描画
コレ→primaryLayer.font.mapPrerenderedFont('azuki.tft');
primaryLayer.drawText((w - tw)
>>1 , 14, message, clBtnText);
>>538 condの有無やmacroの行数とか程度で重くなりはしないから心配要らない
だが無駄な処理は極力無くす心掛けはあって損は無い
>>541 ど、どうもです。
杞憂でしたかw
condが偽でもコンダクターが中身を読みに行ってるんだとしたら、マイページ50行以上のマクロが読まれて
しまうので、ホンマに大丈夫かいなと気がきじゃなかったんですよ……。
公式ページのどっかで、[eval exp=""]は並べずに中身をカンマで区切る、だとか@iscriptでまとめれ、
みたいなことを書いていたのでナーバスになってたようです。
今しがた、[p]タグを[hr]×1000コ[p]ってなマクロにすげ替えてスキップモドードしてみて確認してみました。
3年前のcore2duoでほんの僅かに遅くなった気がする程度でしたw
なんとなくすっきりしました。
実際には初期化処理とか他の細々とした分岐処理があるから一概には言えないけど いまどきの2.xGHzが当たり前のCPUを積んだマシンで 「読みにいくべき行が10個ほど多い」くらいで致命的なスピード差異なんて出ないよ。STGみたいに 一個一個の挙動のタイミングがシビアなゲームならまだしも、ADVやSLGなら余計にね。 秒間に何億という単位の命令を処理するCPUを相手に「命令が10個ほど増えますよ」と言っても ユーザが体感出来るほどの時間的差は生じない。 ※ imageタグで画像を読み込むなど、CPU以外のリソースを食う処理は別だけど
>>543 ほぼ愚痴に近いような質問だったのに、丁寧な回答を頂けてホント恐縮であります。。。
いろいろ盛り込みたいアイデアが有ったので、作ってみる踏ん切りも付きました。
画像処理系のタグには気をつけてやってみますね。
ある時気がついたら激重になってて手に負えないwなんてことにならないように…………。
>>544 まあ俺も似たような心配してたことがあるから気持ちは分かる
すげー切り詰めて作ってたはずのソースなのに、
実際には後からレイヤ10枚足してもスピード変わらなかったりとか
同じ背景をトランジションしてたとか、ボタンや文字をnowait使わずに裏画面に書いてたからとか 見えない状態で何かやってただけって事が多いね。遅くなったって時は。
csvParser.dllを使って、CSV形式で保存しているデータを配列に読み込んでいます。 ですが、これで得られる関数「LoadCSV」は、CSVの全ての値をstringで配列に格納してしまいます。 その為、数値もstringになってる為に不都合が起こる事があります。 数値はint型で読み取るか、または配列内の要素をチェックして 入っているのが数値だったら(整列、負、小数含む)int型に修正するような関数とか、 そういったものはありませんか?
csvの仕様に型情報は無いから当然の仕様。 読み込んだあと適当に正規表現でひっかけてパースしなされ
YAMLやJSONを使うという手もあるな。 それぞれYAML.tjsとjson.dllという形でパーサが公開されてるしな。
YAMLやJSONだってちゃんとした型情報があるわけじゃないから 正しく元の型に戻るとは限らないない
つーか、数値がstringとしてみなされるって事は別に悪い事ではないよな 内部処理で勝手に丸められたりしなくなる訳だから
インスタンスの内部表現をそのまま保存するシリアライザがあればなぁ
型情報をcsvに本来の情報とセットで埋め込めば解決ですね
探索系アドベンチャーを作っています。 ゲーム中にシステムボタンを押すとアイテム画面を開き、そこから アイテムを選択クリックして使う…と言う風にしたいのですが、 どうしてもうまくいきませんorz アイテム画面を開いて、例えば「地図」を選択し、クリッカブルマップで 地図に書かれてる場所へ移動…と言うのを想定しているのですが 「右クリックサブルーチン内では保存可能なラベルを記述出来ません」と エラーになります。 KAGだけでここまで来ましたがやはりTJSを使わないとこういう仕様は 無理なのでしょうか。 講座を色々巡りましたが、システムボタンを使って右クリックサブルーチンと言うのは コンフィグやセーブロードのサンプルしか見当たらず。 このエラーが出るというのはreturnタグが足りないのだろうくらいは分かるのですが 右クリックサブルーチン画面から先のシナリオへ飛ぶにはどの様に記述すれば 良いのか、どなたかヒントだけでもお教え下さい。
>「右クリックサブルーチン内では保存可能なラベルを記述出来ません」 100回くらい読み直せ
556 :
名前は開発中のものです。 :2010/03/24(水) 03:14:20 ID:tuLVevWC
唐突な質問で申し訳ないですがCがちょっと分かる位の(ポインタで挫折) 人間がちょっとしたエロゲを(同人ゲーとして売れるくらいの)作るのに KAG/吉里吉里をどのくらい勉強したらいいでしょうか? 2ヶ月くらいでそれっぽい物を作りたいのですが・・・
>>556 Cできるなら余裕のよっちゃん
そうでなくてもドキュメントやソース読みながら2ヶ月もやれば大丈夫だろ
作りたいジャンルにもよるけど、紙芝居ADVなら大して難しそうな要素もないし
習うより慣れろ根性がないのは致命的
>>555 それは念頭にあったのですが、私の記述が
悪いだけでちゃんと他のやり方があるのでは…と藁を掴みに来ました。
仕様的に右クリックサブルーチンからシナリオに飛ぶのは無理ですか…。
どうもありがとうございました。
>>559 ヒント:タグリファレンスでreturnタグの属性を確認する。
>>560 上手く行きましたあああ!!
returnてルーチン元に戻るだけだと思い込んでました…。
リファレンスしっかり読み直して来ます。
ありがとうございました。
562 :
名前は開発中のものです。 :2010/03/26(金) 22:38:44 ID:0TbGK3hl
すみません、皆さんのお知恵を拝借させて下さい。 選択肢のボタンをアニメーションさせたくて、某所で公開されているAnimButtonPlugin.ksというプラグインを導入してみました。 ところが、選択肢をクリックしたときにするべきアニメーションが実行されず、すぐにtarget指定した場所へ飛んでしまいます。 クリックしたときのアニメーションが終了してからtargetへ飛ぶようにするにはどうすればいいでしょうか?
某所と言われて、スクリプトも提示されないんじゃ、答えようがないよ。
564 :
名前は開発中のものです。 :2010/03/26(金) 23:50:49 ID:0TbGK3hl
>>563 すみません、リンク張っても良いものかと思ったので、あえて某所とぼやかしました(汗
ttp://www.geocities.co.jp/Bookend/2352/krkrplugins/ こちらで公開されているアニメーションボタンプラグインです。
[animbutton page=back graphic="はじめから.png" height=21 left=205 top=290 storage="1話OP.ks" target="*1話OP"]
こんな感じでボタン表示させてるんですが、storageとtarget指定するとアニメーションせずに飛んでしまうんです。
プラグインのリファレンスに、
onclick= ボタンをクリックした時に実行するTJS式を指定する。
とあったので、
kag.conductor.onTag(%['tagname' => 'wait', 'time' => '1000'])
とウェイトかけてみたらいけるかなとやってもみましたが、上手く行きませんでした。
ざっと見たところ、サンプルではアニメ定義ファイルのonclickの部分には [s]入ってるけど、それはちゃんと入れてある?
566 :
564 :2010/03/27(土) 01:26:17 ID:xMtkb7P+
はい、入れてあります。 一応[s]を消してみたり、入れる場所とかも変えてみたりとしてみましたが変化なしです。 やはりMainWindow.tjsあたりを弄ったりしないとダメでしょうか?
プラグイン読んでみたけど、アニメが終わるまで待つような動きはしてないような。 なので、別途アニメ待ちのラベルを用意して改めて目的のページに飛ぶのがいいと思う。 [animbutton ~ target="*waitanim"] ... [s] *waitanim [wait time=1000 canskip=false] [jump storage="1話OP.ks" target="*1話OP"] こんな感じか。 あちこちで多用するので汎用性を持たせたいなら…… [animbutton ~ exp="tf.storage='1話OP.ks',tf.target='*1話OP'" storage="waitanim.ks" target="*waitanim"] ... [s] ---------------------- waitanim.ks *waitanim [wait time=1000 canskip=false] [jump storage=&tf.storage target=&tf.target] 動作確認はしてないんで動いたらラッキー程度でよろしく
568 :
564 :2010/03/27(土) 12:11:35 ID:xMtkb7P+
>>567 さん
夜中にご返信ありがとうございます。
先ほど早速試してみましたが、やっぱりアニメーションしませんでした。
いっそ一旦ボタンを消して、望むアニメーションのボタン作り直して表示させた後に任意のラベルに飛ぶようにしたほうが良いでしょうか?
できればもっとスマートなやり方無いかなとおもってるんですが・・・・・・
もう少しいじくり倒してみます。
デフォルトのMessageLayer.tjs内に記述してある、 class MessageLayer extends KAGLayer { var....略 } の中の、あるvarの値(id, comp, layerTypeなど……)をゲーム起動中にコンソールで見るには、コンソールにどういう式を書けばいいの? (もしくは、もっと簡単な見方がある……?)
そのクラスのオブジェクトとして割り当てられてる変数名を見つけてやればいいんじゃね MessageLayerならkag.fore.messages[n]とかkag.back.messages[n]とかがそれになるのかな kag.fore.messages[0].id とか書けばコンソールが出してくれるんじゃないかな その中身が期待した中身であるかどうかは知らないが(例えばフツーの変数だと思ったらオブジェクトだったとか)
571 :
567 :2010/03/28(日) 21:03:15 ID:1mWEi3US
572 :
564 :2010/03/28(日) 22:18:00 ID:26cG5Fbr
>>567 さん
お手数おかけして申し訳ございません(汗
プラグインの改造までしていただけるとわ・・・
本当にありがとうございました。
いまからイジクリ倒してみます。
573 :
539 :2010/03/28(日) 22:52:21 ID:0p5LFIZ/
僭越ながら539です。
規制に巻き込まれてお礼が今になってしまい、すみません。
>>540 ヒントというか答えをいただいてしまって、申し訳ないやら恥ずかしいやら……。
参考にさせていただいたら、他の機能も実装できました!
大きくなったら、540さんのように立派なtjsアドバイザーになりたいと思います!
ありがとうございました!('・ω・`)
CSVファイルを読み込むプラグインはありますが、XLSファイルを読み込ませる方法は無いですか? CSVだと保存時にルーラーの幅を記憶してくれなかったりして、取り回しが微妙に不便なのですが
XLSファイルがどんだけ複雑で独自仕様に走っていて バージョンによる差異もあるかを勉強汁
COM使えば簡単 Excelくらい入ってるさ
すいませんでした、CVSで我慢します
578 :
564 :2010/04/01(木) 23:38:48 ID:wbJvQV0b
数日振りでございます。
ご助力のおかげでおもった感じのアニメーションボタンができました。
ところでまたまた初歩的な質問なのですが、
>>571 さんに作って頂いた
アニメーションボタンのレイヤーを動かしたい場合は、moveタグでは無
理なのでしょうか?
自分で作ったlayerオブジェクトを、トランジションに対応しようと思うと 表用と裏用のオブジェクトを一対ずつ作って、onExchangeForeBackを置いたりしないといけませんが 作るオブジェクトは一つだけで、もっとスマートにトランジション対応出来るようなやり方はありますか?
KAGでやろうとする以上はKAGの流儀に従わないとだめ
相談失礼します タイトル画面からサブルーチンを呼び出しそのまま戻ると 表示しないはずのクリック待ち記号が出てしまい 対策をいろいろ試すもわからずお知恵を借りにきました ・キー操作でサブルーチンを表示できるようにしている ・初回起動時タイトル画面でキーで表示し戻る→問題なし ・シナリオ中にメニューで最初に戻り上記の操作→問題なし ・シナリオ中に右クリックサブルーチンでタイトル画面に戻り上記の操作→クリック待ち記号が表示 その後適当なボタンを押して戻り試すとクリック待ち記号は表示されず正常 どうやら右クリックサブルーチンからタイトルに戻った時だけこの現象が起きるようです 発生のタイミングはわかったもののどう対処したらいいのかわかりません どうかよろしくお願いします サブルーチンを呼ぶキー操作 if(key == VK_F1) { callExtraConductor('keyF1.ks', '*start'); return; } 右クリックサブルーチンでボタンを押した時に飛ぶラベル *goToTitle @gotostart ask=true @jump target="*rclick" @s
582 :
うーん; :2010/04/04(日) 15:56:33 ID:FNC/f7pz
途中から相談失礼いたします; 現在タイトルメニューを作っているのですが、 起動させたときに、開始・ロードなどのウラフィカルボタンを表示させようとすると、 シナリオで文章を表示するメッセージレイヤのうえに出てしまいます; (メッセージレイヤは下に長方形型で表示させています) 理想は背景とグラフィカルボタンのみが表示された、綺麗なものにしたいのですが 実際はメッセージレイヤごと表示された良く分からないものです… 分かる方がいらっしゃいましたら、知恵をお貸し頂けないでしょうか…
>>582 positionタグでframe="" opacity=0とすりゃいいのではとチャレンジ!エスパー検定
584 :
うーん; :2010/04/05(月) 15:10:23 ID:2xM8S3iw
>>583 本当にありがとうございます!!
これでやったところ、レイヤが綺麗さっぱり消えました!ww
それで、重ね重ね申し訳ないのですが…
そのままシナリオに移ったら、今度はシナリオのメッセージレイヤが
表示されないままになってしまって…;
こういう場合はどう対処すべきなのしょうか…;
>>584 ならばもう一度positionタグ置けばいいのよ(他にも方法あるけど)
positionタグがメッセージレイヤを制御する命令なのは分かったね?
でframeやopacity属性で枠の表示がコントロールできるらしいというのも
そしたら
同梱またはこのスレのテンプレにある「KAG system リファレンス」を開いて
タグリファレンスのpositionの項目を見ながら属性を色々入力して実行してみなよ
察するに「プログラミングって何?」なレベルのようなので
吉里吉里の書籍を買うかテンプレの初心者向け講座を良く読むことをすすめます
(もえかぐ消えた?)
余談だけど「メッセージレイヤ」という言葉を誤解してる
「メッセージレイヤ」と「メッセージレイヤの枠」は
アニメのセルそのものと、そこに書かれた絵みたいなもんで
一緒に取り扱えるけど、いちおう別物
>>583 の命令は、メッセージレイヤはそのままで、枠の画像だけを消しちゃうってこと
ifで実行範囲を選択するか、変数制御してラベルで飛ばすか迷っています。 簡易的な記述ですが、 [if 学年==1年生]A子 B子[endif] [if 学年==2年生]C子 D子[endif] 戻る [s] とした場合と *1年生 A子 B子 戻る[s] *2年生 C子 D子 戻る[s] だとどちらがどのようなメリットがあるんでしょうか。 前者の場合、共通項目の「戻る」の記述が1行ですんでいるのですが、 扱う量が膨大になった場合、if判定をしない分後者の方が処理的にやさしい?のでしょうか。 (膨大な量といっても100人程度になっても動かす分には、今のPCのスペック的には体感的な速さは変わらないのですかね・・・)
587 :
うーん; :2010/04/05(月) 18:59:16 ID:2xM8S3iw
>>585 なるほど…!
教えてもらった通りいじったら、無事表示に成功しました!!
本当にありがとうございます!
書籍は、秀和の吉里吉里/KAGノベルゲーム制作
というのを買ったのですが、丁寧ではありましたが良かったような悪かったような…微妙でした^^;
秀和のは吉里吉里のバージョンが古いから、まんま移植だと想定通りに動かないのがなー
大規模規制中か、俺程度のスキルで保守るの嫌なんですがw
>>581 サブルーチンがサブルーチンを呼び出してるらしい、のが怪しい
keyF1.ksをTJSだけで書けるのなら解決すると思う
まあ、右クリックメニュー?からもタイトル画面に戻れるってのは
必要性が有る機能とは思えないので、そこだけ外したら?
質問者がポルナレフ状態、というか原因の絞り込みが足りない感じなので
今まで書いたスクリプト、コードをいったん捨てて
キー操作と右クリック周りの機能だけを実装してみるのはどうよ
栞関係のプラグインがあったら外してみてね
>>586 前者 栞や既読処理でつまづかない
後者 見やすい、エディタなどでの管理が楽
かな
吉里吉里はCでDLLを作って読み込むことが出来ますが、 ksやtjsで書くのでなく、DLL形式でプラグインを作るのにはどのようなメリットがあるんでしょうか?
>>590 ・吉里吉里に搭載されてないシステム機能はTJSでは記述できない
・圧倒的な性能
前者の観点ではシステムとしての層が違うので、特に TJS と競合するものではない
後者の観点は、例えば計算処理の類は、TJSでも同内容のものが書けるが、
画像処理のように計算量が爆発する場合には TJS では効率が悪すぎるため、
Cで書かないと使い物にならなかったりする
ありがとうございます 自分はCはさっぱりですが、作れるようになると便利そうですね
吉里吉里使うレベルの奴にはたいしたレベルいない なぜ吉里吉里・KAG・TJSにわけてるのか 意味がわからんキチガイツール フォルダにわけて管理とか ん十年前のシステム構築の発想 古すぎて使い物にならないウンコシステム
実のところは、最近はどこの会社のシステムも、吉里吉里的な、 エンジン・汎用スクリプト・専用スクリプトの3層構造にシフトしてるんだけどね。 ようやく時代が吉里吉里においついたと言える
つか、ノベルゲーム作成ツールとして、これ以上ないツールじゃね? 安いコストで作成でき、環境依存が少なく、既に多数の実績もあるツールだし。
意味がわからんキチガイツールと言いながら
スレに参加する
>>593
久々の餌ですなw
598 :
名前は開発中のものです。 :2010/04/08(木) 17:24:09 ID:XXHml3HQ
readme.txt 作成日 2002年12月19日、10:05:14 素晴らしい 時代がやっと3層構造に追いついたんだ 物理層 データ層 ネットワーク層 トランポート層 セッション層 プレゼンテーション層 アプリケーション層 が作られた時代よりも進化、洗練されてる カッコイイ こんな時代がくるとは、今までの人も考えもつかなかっただろう とんでもない時代が来るね!!
よくいるよね。
高級言語を覚えてスクリプトシステムをコーディングしてからゲーム本体の
スクリプトを組み始めることの無駄に気づかない、同人レベルの意識の人って。
時間が無限にあると勘違いした人間とは一緒に仕事したくないなあ。
いや、ここは吉里吉里スレであって業界人スレじゃないから、
>>593 が同人レベルの
意識の持ち主だとしても責めることはできないけどね。
GNU一般公有使用許諾書 ============ 1991 年6 月,バージョン2 すげーーーーーーーーーーーー まんまコピーだ カッコイイ 時代の最先端 あたかも自分が作ったと思わせる技術 初めて知りました 脱帽ですm(_ _)m
「それ…車輪ですよね…?」とか言われたのでは
平たく言うと ただの絵と文字を表示するだけの機能に よくもまぁこんだけもりあがれるなと 遠いところから眺めてるわけですよ 3階層とか、別にどうでもいいんじゃね? ああ、この程度で喜んでる(自己満足してる)のか
思案自体はもっと昔にあったろうが 遅くても2002年としよう 8年かけてこのくらい・・・と 3か月でADV作った奴にとってはうんこ 逆に言うと この程度恥ずかしくてやってられない
よく、こんなシステムだけでメシ食えるね おえらいさんの弱みでもつかんでるのかな
スルースキルなさすぎ
んだよゴルァ、おれたちのDeeタンdisってんじゃねえぞ? とでも返しておけば喜ぶ?
ID:XXHml3HQは技術的な話になるといつも声高らかに斜め上なこと言って噛みついて来るおばかさんでしょ。
>>599 ゲーム専用機向けはゲームエンジンの機能=ゲームの操作性&表現力に直結するから自社で開発チーム持ってるし
組み込み向けだとそもそも1から作らないといけないから最悪タイトルごとにエンジン作るとかあるんだが。
だいたい、自分で作って抱え込むのはライセンスの問題も大きいからわざわざ作るんだろ。
エロゲ屋だろおまえ。
いや、XXHml3HQ は、たぶん自分でつくると豪語して、3ヶ月で絵と文字を表示するしかできなくて ぼろくそにいわれて結局吉里吉里採用でおいだされて、腹いせでここに来たとかだろう 最近はコンシューマの開発でも、オープンソース系つかってダメとはいわれなくなったからいい時代だよ! めんどくさい書類はださんといかんけど、まあ、そのぐらいは問題ない
下手するとコンシューマよりエロゲ屋の方がもうけてるからな。 ハンコ原画と王道シナリオで泣きゲー作るぐらいなら吉里吉里で十分。 自作エンジンですごい効果入れられるとしても、売れるかどうかは別の話。
> 最近はコンシューマの開発でも、オープンソース系つかってダメとはいわれなくなったからいい時代だよ! エロゲでも作ってるんですか?
>>609 ん? 突然現れて声高らかに人をお前呼ばわりしてどうした? 俺の知り合いか?
吉里吉里の話をするスレで知ったような口調でゲーム専用機向けの話を始めるとかおばかさんなの?
スレ違いは失せなよトンチンカン坊や。
キチガイ
坊やと違って
>>611 はよく世間と常識を理解してるな。
より深く言えば、自作エンジンですごい効果入れられるとしても、
そんな効果を入れる演出能力を持った人間がいるか、
またそんな効果を入れる時間があるかって問題もある。
身の丈に合った道具を使うのが一番ってことです。
だったら放って置いてくれたらいいのにって思うんだけどw
規制解除で愉しそうだなお前らw
>>603 からの三連投みるだけで、
十分にキチガイであることが認識できる奴だなw
>>613 は誰なんだよ。
ID:XXHml3HQか?連鎖あぼーんするから鳥付けろよ。
621 :
名前は開発中のものです。 :2010/04/09(金) 16:16:33 ID:W0ZaXe2W
Deeターーーーーーーーーーーーーーーーーーーーーーーーーーン クラウドの時代になってもその開発スタイルに 1ファイルでもエラーが見つかったらシステムダウンって回路組み換え時代? のプログラムもっとうpってぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇぇ
JavaScriptでできるのに わざわざ 疑似JavaScriptのようなものを作って 吉里吉里で「のみ」動くシステム ステキー キャー カッコイイ ビーフステーキおごってあげるぅぅぅ しびれる あこがれる イケメン スリム かっこよすぎしょんべんもらしそうおおおおおお 吉里吉里3早くつくってーーーーーーーーーー ○おっとで、もうすでに実現されてる機能を無駄にまた作ってぇぇぇぇぇ そして、バカなエロゲー会社に吉里吉里本買わせてウハウハさせてぇぇぇぇぇ Microsoft も Linux も Apple もその真剣さに真っ青 コミットしているのは、ほとんど同一人物 オープンソースの意味はあるのか? その答えを・・・・Deeタンが明かす!
吉里吉里3とかいつの話してるんだよ
えっ、吉里吉里 3 って頓挫したの?
そういえばもう春かー
いやもう春は過ぎた。ただの自宅警備員だろ。
春とかいつの話してるんだよ
ブラウザゲーム最強って話なん? ネットワーク層やらクラウドやらそっち系の用語が出てるとこから短絡的に。
相手しちゃ駄目だって
アイテムウインドウのように、文字を2列にするにはどうすればいいでしょうか? メッセージレイヤ1と2を左右に配置すると、操作中じゃない方のリンクが作動しません・・・
2Dのゲーム作成してるのですが、マップチップの管理って どうやってます。AoE並にチップ作ると膨大で処理大変です。 なにか秘策か?
誤爆です 632
TJSでばりばりスクリプト書ける人は、最初はどうやって勉強を初めて 何kbくらいスクリプトを書いているんですか? 勉強を始めているんですが、何とも自分の一寸先が闇で心細いです
プログラミングの素養があるからできるんだよ JavaScriptでも勉強すればいいんじゃない
ある程度書ける人で、 TJSからプログラミングを始めたって人はほとんど居ないと思う。 自分はデル厨でした。
KAG→必要に迫られて初歩のTJS、くらいはいいけど それ以上進みたいなら他の言語をやってきて またTJSに戻るほうがいいかもねえ
吉里吉里を使っているゲームで解像度を選べる仕様のものがあるんですが(640:480, 800:600 とかウィンドウの枠をドラッグで動かせたり) 実装方法が紹介されているサイトなどはないのでしょうか? どんなワードで検索すれば良いかいまいち分からないので・・・
>>636 プログラミングの基礎素養か……
TJSで始めたばっかりなんで一切無いです Javascript検討してみますが、C言語とかじゃまずいんですか?
やはりスクリプトと言語はケタが違うもんですか?
>>637 マジすか……やっぱ厳しいもんなのか
TJSという言語自体が初心者には変ってことですかね?
>>638 一応C言語とかは勉強したいと思っているんですが、まずはエロゲがどうしても作りたくて……
考えてみます。
> 解像度を選べる仕様 windowzoom.ks > ウィンドウの枠をドラッグで動かせたり config.tjs
エロゲ作りたいだけならKAGだけですら相当なことはできるだろうに
>>640 変ってことは無いんだけど単純に初心者むけの書籍や情報が少ない。
TJSリファレンスも他の言語が分かってるの前提でTJS特有のことしか書いてない
プログラミング言語の概念は、他の言語でも特にかわらず応用効くので、
まずはメジャーな言語で勉強してきたほうが楽だよってことですな
>>641 > 解像度を選べる仕様
windowzoom.ksで解決しました
ありがとうございます
>> ウィンドウの枠をドラッグで動かせたり
>config.tjs
メッセージウィンドウではなくアプリケーションウィンドウのことです
枠をドラッグしてサイズを調整できると言いたかったのですが、紛らわしい書き方してすみませn
>>642 セーブロードメニューとか作っててどうしようもなくなってWikiからコピペして簡素なものができたりするとなんか無力感を感じまして
>>643 なるほど……TJSに挑戦って初心者講座を読み進めてますが、難しくて……
C言語かさっきオススメされたjavaを頑張ってみることを検討します
Cはゲーム作りを忘れてプログラミング自体にのめりこんでいくくらいでないと苦痛だと思うよ 簡単に画面が動く環境の方が楽しいと思うので例としてJavaScriptを挙げた その意味では吉里吉里も悪くないんだけど情報が無さ過ぎる
だってエロゲ屋と思われるし
>>646 なるほど分かりました
皆さん相談に乗っていただきありがとうございました!
無言でDLされて 無言で他に利用されるし 吉里吉里使ってる = エロゲ屋 = プログラムもスクリプトさえもできない無能
どうやら自分がエロゲ屋であり無能であることにコンプレックスを抱いている方がいらっしゃるようですね。
同業者で有能な者としては誇りを持てとエールを送りたい。
どれほどカスな人間だと自身を蔑もうと、君にだって価値はあるのだ。
生きろ。生きろ。先日から自己紹介ばかり行う
>>649 よ、生きろ。
正直、女がキチガイか、気持ち悪いのしか残ってない
春になると変な人が出るってのは 俗信だと思ってたんだけど 本当だったんですねー。
エロゲでも、ダウンロードサイトで数千ダウンロードされていたら、十分勝ち組だとおもうけどな。 それがflashだろうが吉里吉里だろうが、ユーザが楽しんでくれればいいんじゃない?
>ダウンロードサイトで数千ダウンロードされていたら それはマジ割れじみてるからやめろ
ダウンロード販売って言葉を知らんのか
それは知ってるっていうか非常に生活の上で世話になってるけど
あー。すまん。ダウンロード販売サイトのことだな。
>>644 レポジトリにある最新のKAGEXだと標準で
アプリ枠のドラッグによるサイズの変更ができるっぽい
これどうやってアニメーションさせるの? var i; var lay = new Layer(); // 適当に初期化 for( i=0; i<100; i++ ) lay.setPos( i, 0 ); ってやったらループを抜けた結果だけ表示されて ループの途中の処理が見えないんだけど
そのコードを書くことはできるのになぜ発想の根本的間違いに気が付かない
そういえば吉里吉里ってパッシブレンダリングなのにリペイント要求出せないよな。
>>661 それって、Timerクラスを使っても画面更新タイミングにならないと
意味がないってことになるの?
>>662 Layer.update した領域にリペイントかかるよ。Window に対する指定はないけど primaryLayer.update() すればいいかと
>>663 そうだね。実際に画面に反映されるのは画面更新時になるからそれを見越して描画する必要がある
なお、全描画フレームに対して処理したい場合は、Timerではなくて、System.addContinuousHandler を使う。
これはかならず描画処理と1対1でよばれる。
ただし、標準の設定では、continuousHandler はCPUパワーのゆるす限り無制限に呼ばれてしまうので、
それを制限したい場合は、System.setArgument で -contfreq を指定する必要がある
あと、どうしても描画処理の最中でなにかしたい場合は、該当レイヤが画面に合成描画される
直前に同期で Layer.onPaint イベントがくるから、そこでレイヤの内容を書き換えることができる。
この場合は、Timer や continuous ハンドラの中では処理用のフラグを立てるだけとか
そういう書き方をすることになる
この辺が吉里吉里の敷居の高さなんだよね。 KAGの低性能なスクリプトエンジンに耐えきれず、 じゃあ拡張しようかとなったときに他のエンジンとは明らかに格の違う 性能とコンセプトを目の当たりにして、人々は絶望する。
普通のプログラミングでも同じだから、あんな疑問が出てくるのに逆に驚いた
ただのアドベンチャーゲームを作るのにイベントドリブンは必要ないと思うんだよ。 日曜プログラミングでMS-DOS(PC98)からWindowsへの移行に失敗した俺は、 吉里吉里の概念を理解するのにかなり時間を要した。 手軽にアドベンチャーゲームを作れると考えて吉里吉里を始めた人間の多くは、 プログラミングの素養なしに突撃してくるから、TJSをいじる段になって困惑する 人が多いと思うよ。 商業製品でもそういう気配を持ったものが散見されるしね。
マイクロスレッドで定期的に処理を戻すようにするほうがわかりやすいわな なんのためのスクリプトなのって感じ
TJSを読み解けとまでは言わないが、欠片もプログラムのソースに触れた事が無い類の人間が KAG程度では出来ないこと一般的なADVゲー程度ではない野心モノを作ろうとする人間になろうというのが間違ってる気がする
俺はKAG自体いじったことがないからよく分からないんだけど、 KAGってのは簡単に見目麗しいGUIを構築できるものなの? すごいことを要求してるわけじゃなく、ボタンの上にマウスカーソルを乗せたときに、 ボタンがアニメーションで明滅したりとか、その程度のこと。 まさかできないわけがないとは思うんだけど、吉里吉里を使った作品では それさえできてないものが多いから、KAGではそういうことはできず、 かといってTJSで拡張することもできずしかたなく貧弱なGUIに甘んじてる のかなと、ちょっと気の毒に思ったりしてるんだけど。 単に見た目にこだわらない使用者が多いだけなんだろうか。
作られた時代はこれで充分だったんじゃないかなっていう。昔の商用となら勝負になる。つまりそんな具合。 昨今の商用のや凝った同人のあれこれみてると真似したくなるのが人情だから、絶望してる人は可哀想だなとはおもう。 ある程度いじった事のある人ならプラグインや本体の機能拡張はいっくらでも進められるんだろうけど、 中で何やってるか理解して無いとエラー出たとき自力対処できないから 無責任にホイホイはいどうぞって、作ったものを周囲にばら撒くのは後の苦労が予想できて怖い。 ところで、そんなにシステム頑張ってもゲームの評価にはあんまりつながらないよw
マイクロスレッドってなんでいきなりプロセッサの話になるのかと思ったら協調スレッド方か。 コルーチン+クロージャ+継続最強! あれ?Rhino完ぺきじゃね?
ゲーマーやゲームエンジンの採用を検討する人間が求めるのは「素晴らしいコーディングによって書かれたプログラム」じゃなくて 「言われた通り(要求した通り)に動作をし、妙なバグを出さない安定したプログラム」だからな 実際にプレイする側からしてみれば、吉里吉里使ってようがNスクだろうが独自エンジンだろうが パッとみてそれなりに動作してさえくれればプログラム自体の動作原理なんてどうでもいい訳だし
気の利いたUIが中身をちょっと誤魔化すのに役立つのは間違いないが 今あるツールでそれが吉里吉里より簡単にできそうなのはFlashくらいか? その場合結局テキスト処理とかでActionScriptを勉強する必要があるから ノベルっぽいの作る場合TJSよりよっぽど難しくなるしな
>>671 確かに、システムは頑張ってもプラス評価はされにくい。
でも、頑張らなかったらマイナス評価されるでしょ。
絵描きやライターはプラス評価をもらうために頑張り、プログラマやスクリプターは
マイナス評価をもらわないために頑張るべき。
エロゲーマーがヌキと絵しか気にしないからでしょ。言われた通りに実装するのは当たり前。 どうせ後からこれが欲しいあれが欲しい言うから始めからある程度の機能と拡張性持たせとけよ。 System4はやりすぎだけどな。
画面更新って命令文ないの?
なんかのゲーム用スクリプトみたいだなw
class MyTimer extends Timer { var f; function MyTimer( func ) { super.Timer(); f = func; } function onTimer() { f(); } } var a = new MyWindow(); var time = new MyTimer( a.move ); time.interval = 1; time.enabled = true; でタイマー設定したけど うんともすんともいわないけど?
>>681 うんともすんともいわないのなら、お前のコードが間違っている
MyWindowクラス内のmoveメソッドが何をやるための物なのか知らんし new Timer(); ← この時点でonTimerが呼ばれることを否定してないか
>>681 どうでもいいけど"f"を変数名に使うのは一応やめといた方がいいよ
Scripts.evalStorage と Scripts.execStorage の違いって何でしょうか?
文字列の評価とファイルの実行
スペシャルねこまんま57号対策として、最も効果的な方法って何だろう? まさかこの壁にぶち当たる日がくるとは・・・。
対策1 ダミーの変数を山ほど作る 対策2 1. パラメータの処理 2. 処理結果を元にチェックサムを残す 3. ゲーム進行 4. 現在のパラメータとチェックサムを比較。異常があれば停止 5.1に戻る 対策3 数値をアルファベットに変換して文字列として格納 計算を行う直前で数値に戻す ただの思い付きにつき未検証。 この程度でいいとおもうよ? それでも対抗されるならそんだけ魅力があるんでしょ。ある意味勝ち。 逆にチートしないと遊べないくらいバランスが悪かったりして……。 吉里吉里コアの起動オプションをいじられるとかだったらシラネ。 自前でコアを改造・コンパイルするしかないんでは。
質問です。 [link exp="kag.closeByScript(%[ask:true])" clickse="bell16"] Exit [endlink] をクリックして終了確認ダイアログの「いいえ」を選択すると そのページに留まらず、何故か自動的に次のシナリオに進んでしまいます。 単純なミスだとは思いますが、似たような症例が見つからなかったので、 恐れ入りますがご教授願います。
>>693 リンクタグでなく、ボタンでやってみたらどうなる?
closeByScriptは確か、キャンセル動作(つまり「いいえを押した」)時は「クリックしたものとみなす」という体で動作するんじゃなかったっけ。 内部で実際そんな考え方で動いてるかどうかは知らんが、実際ワンクリックされたものと同じ挙動を示した気がした。 だからリンクタグ等でこのメソッドを呼ぶ時は[s]タグを直後に用意するか、もしくは [link exp="kag.closeByScript(%[ask:true, ignore:true])"]Exit[endlink] みたいな感じで独自に引数を追加し、MainWindow.tjsのcloseByScriptを直接 function closeByScript(elm){ /* 中略 */ // closeByScript は、このハンドラが終わった直後に // 「終了しますか?」のダイアログを表示する。 // 終了する場合はそのまま終了する。 // 終了しない場合は 'not_closed' トリガが発行され、 // 実行は継続する。 // ! ConfigLayer等からcloseByScriptと呼んだ場合、「いいえ」が押されるとメッセージが勝手に進んでしまうので // elm.ignoreオプションが有る場合は以下を発動しない if(elm.ignore) return; conductor.wait(%[ not_closed : askOnClose_save ? (function{ // 実際にこれが呼ばれることはないが、一応 askOnClose = true; } incontextof this) : (function{ } incontextof this) ]); } } みたいな具合に改造してやんのがいいんじゃないか。まあ改造するのはめんどくさいから 素直にリンクの直後に[s]置いとけっていう話だけど
しねきゃぷしょんっていうフォント使うと一部文字化けする…('芯'と'飛') どうすれば直るんだ
単にその文字にフォントが割り当てられてない (バグとかでなく、作られてない)だけじゃないか? 個人制作のフォントにはありがち。 作者に問い合わせるか自分で改造してみるか。
698 :
696 :2010/04/15(木) 23:23:57 ID:6X7UzU50
吉里吉里以外のテキストエディタとかだとちゃんと表示されるから吉里吉里側の問題だと思った 吉里吉里だけ駄目でしたとかフォントの作者に問い合わせても仕方ない気がする
>>696 アンチエイリアスを切るか、文字sizeが18以下だと文字化け直るぞ。
なんだこりゃ
そういうのって既出なんだっけ? 公式掲示板で過去ログ検索して無かったら報告してみたらどうですか。
>>699 アンチエイリアスは確認した
俺の環境だと
size1~9 or 11で芯
size23以下 or 25~27で飛
がちゃんと表示されるなんぞこれwww
公式で報告してくるか…
KKDE2すっかり更新無くなったなあ 飽きちゃったかな
Layerクラスで領域画像を使ったときに、 指定の領域番号の部分だけに色を塗ることって 出来ないんでしょうか?
keydownhookを使った、数値の代入がうまくいきません…。 「↓」キーを入力すると、tf.down =1 となるように組むにはどうすればよいでしょう? おそらく、根本的なところを理解していないと思うのですが…。。。 [eval exp="tf.down =0"] [iscript] function onKeyDown(key, shift) { if(key == VK_DOWN) tf.down=1; return true; } // キーダウンフックを登録 kag.keyDownHook.add(onKeyDown); [endscript] これじゃだめ、、、ですよね・・?
>>705 MainWindow.tjsを見てみたところ
フォーカスをもってるレイヤが存在する場合には
keyDownHookは呼び出されないようです。
フォーカスを外してやるかフォーカスをもったレイヤの
keyDownイベントを使うといいかと。
どなたか
>>704 御存知の方いませんでしょうか?
>>704 見渡した感じ、無理っぽいかも?
画像を用意して上にのっけてやるしか……
>>707 やっぱりそうですかあ・・・
お手間を取って頂いてありがとうございました。
かくなる上は1pixelずつ塗ろうと思います・・・orz
>>706 なんとか解決したっぽいです!
ありがとうございました。
if(key == VK_DOWN)
tf.down=1;
こーゆー記述が不安だったのですが、普通に問題なかったのですね。
LayerにWindowの機能を持たせるようなことってできる? たとえば Layer で画像表示してる状態で、画像をドラッグするような処理 他にWindowの枠をとるとかできる?
全部できるが非矩形ウィンドウ出したいのか?
吉里吉里で作られたエロゲはどれもパッドが有効になっていて使いづらいのですが 無効にすることはできるんでしょうか? 同梱exeでコンフィグ設定できるものはいいのですが そうでない場合どうしようもないのですか?
>>708 >かくなる上は1pixelずつ塗ろうと思います・・・orz
が
>>707 の発言を受けたレスで、ペイントツールなどで1ピクセルずつ手作業で
塗るという意味なら、その作業を軽減することはできるんじゃないかな。
getProvincePixel で画面上のすべてのピクセルをスキャンして、指定の領域番号
が来たらその位置のピクセルを fillRect なんかで塗りつぶす。
そして完成した画像を saveLayerImage かスクリーンショットで画像ファイルに
落とし込んで、ペイントツールで適切なデータ形式に加工すれば、半自動で
画像を用意することはできる。
そもそも、効率を度外視すれば、
>getProvincePixel で画面上のすべてのピクセルをスキャンして、指定の領域番号
が来たらその位置のピクセルを fillRect なんかで塗りつぶす。
こそが「指定の領域番号の部分だけに色を塗ること」なんだけども。
>>712 まめ知識
「エンジン設定.exe」は、実行ファイルにオプション -userconf をつけて起動するだけのツール
あとはわかるな?
>>715 なるほどーありがとうございます
パッドがデフォルトで有効になっているのは吉里吉里のせいなんですよね?
設計上おかしいと思うんだけどな
>>714 ばーか
layerExBTOA.dllと画像コンバート用のconvert.batとかの一式セットって 公には公開してないみたいだけど 自分で書いた動画再生用の関数とかを付けて勝手に公開したらやっぱりまずい?
吉里吉里ライセンスで配布してるんでよしなにどーぞ
ありがと 公開って言ってもいつの話になるか分からないけど
>>711 そうですね 非短形ウィンドウにしたいです
>>717 おおお!欲しかった機能が現実に!
ありがとうございます!
有り難く使わせて頂きます!
それにしてもncbind使うとこんなに短いソースで
出来ちゃうもんなんですね。すごいなあ。
>>716 皆が設計上おかしいと思ってるならデフォで外す。
要するにおまえがズレているっていうこと。
使わないなら外せばいいだけの話でもある。
せっかくなのでオレも
>>716 にばーかしておきますね
>>723 吉里吉里のレイヤデータは ARGB32 で素直なので、ある程度以上複雑な
ものはさくっと C で書いて機能メソッド化してしまうほうが良いことが多いです
layerExBTOA は一番単純なレイヤへの機能組み込み例なので、自分用の処理書く場合は
適宜それをベースにコピペして構造つくって足していくのが簡単でオススメです。
layerExImage とかはプロパティのキャッシュ処理とかしてるのでやや複雑です
紙媒体の参考本で、全くの素人でも読みやすいのはどれか教えてください 近所の本屋で置いてないので通販したいのですが、実物を見比べることができなくて…
>>728 ありがとうございます
さっそく注文しよう
全くの素人ってのがどの程度かわからんのだが 吉里吉里よりLiveMaker薦めた方がよくないか
そろそろTJSに特化した本とか出るといいのに TJSに挑戦のサイトの人とかで出ないかな
TJSだけの本じゃ商売にならんだろ。 Luaにすりゃよかったのに。
そこで今流行りの電子書籍
>>732 本当にこれ一冊でTJSと吉里吉里は完全網羅!
C言語?JAVA?そんなの関係ねえ!
その程度知らないと使いこなせないと2ちゃんねるで言われた?
この本を見ろ! それで解決だ!
というぐらい気合いの入ったものであれば、上下巻併せて6000円程度の値段で
そこそこ売れると思うよ。
そんなもんよりちゃんとした言語仕様を公開してくれればそれでいい。
まぁ、本当に最初の頃はやたら動物の表紙の本とか買ってたなぁ。 近頃はWeb検索すれば何でも情報が日本語で手に入るからお世話にならなくなったけど。
せっかくだから相撲の表紙の本も買おうぜ!
セキュリティーウォリアーズw
セキュリティウォリア……アマゾン見たてのけぞったw どうしてこうなったオライリー
吉里吉里で
741 :
740 :2010/04/21(水) 16:12:32 ID:rpFTtTW3
ミスった。 吉里吉里で落ち物ゲー作るのって可能?
どんなの作るかによるけど割と簡単な方
マンツーマンで教えてくれるやつはいないか?10000森出すぞ。
吉里吉里で1時間でテトリスを作ってみた 動画でも作るのかね
いや、「ノベル+CPUと対戦な落ち物」ゲー作ろうかと。 とりあえずテトリス部分作ってみるか……
アルゴリズムさえ考えて有るなら、TJSを理解してれば大抵のゲームは作れると思うよ。 Javascriptでテトリス作ってる奴だっているんだし、使うオブジェクトやクラスが違うだけで基本的な箇所は一緒だしな。 正直、一番面倒なのは処理の実装よりもUIの用意だと思う
タイマー回してキーボードチェックする昔ながらの方法でいいんじゃね?
というかLayerクラスのほかに、イメージを単独で扱うImageクラスが組み込みでほしい。 ブレンド用の非表示画像も全部親子関係を強制されるせいで、 管理とかシリアライザ書くのとか面倒でしょうがない。
えっ
ええっ いや、まあ言いたいことは分かるし気持ちも分かるが、現状でも別に管理は 面倒じゃない……よね?
画像をたくさん画面上に表示させたいなと思っております。。。 ループで毎回レイヤをかえているはずなのに、次の画像が出てくると前の画像が消えてしまいます。。 何がいけないのでしょうか? 必要なところを抜粋してみました。 ; なんとなくレイヤいっぱい用意 [laycount layers=51] [iscript] // ループ開始後、n*50[ms]後に画像を流し始めたいと思ったら tf.arrow[n]=1 tf.arrow = [] ; tf.arrow[0] = 1; tf.arrow[20] = 1; tf.arrow[40] = 1; // 以下60, 80, ... と どんどん増やしていく予定 tf.loop_i = 0; tf.layer_no = 1; [endscript] ; 長くなったので2回に分けます。すみません
*loop1 ; 50[ms]ごとに繰り返すサブルーチン ; 画像を流したくないときはloop2へ飛ばす [if exp="tf.arrow[tf.loop_i]<1"] [jump target="*loop2"] [endif] ; 画像表示の処理。表示させて移動させる [if exp="tf.arrow[tf.loop_i]==1"] [image storage="set" layer="tf.layer_no" page="fore" left="150" top="275" visible="true"] [move layer="tf.layer_no" path=(350,275,255) time="800"] ; 次の画像のためにレイヤナンバーをインクリメント(してるつもり…) [eval exp="tf.layer_no++"] [endif] *loop2 [wait time=50] [jump target="*loop1" cond="tf.loop_i <200"] これでできた!と自分では思ったのですが… うまくいかないのはなぜなんでしょう(´・ω・`)
layer="tf.layer_no" だと、「tf.layer_no」という文字列を言っていることになってしまう layer="&tf.layer_no" じゃないとだめ
文字列は数字0と解釈されるので、結局毎回 layer="0" と書いてたのと同じことになる ということかと
これtf.loop_iをインクリメントする処理が無いから どのみちjumpタグが呼ばれた時点で無限ループ発生しないか?
>>754-755 あうあうあー 前も&があったりなかったりでハマってました。。学習しないなぁ…
ありがとうです!
>>756 すみません。質問に関係ない部分をそぎ落としたときに一緒に落ちてたみたいです(´・ω・`)
手元のソースにはあります。ご指摘ありがとうございます。
758 :
749 :2010/04/21(水) 23:35:53 ID:q7lOQUk4
var layer = new Layer(kag, kag.fore.layers[0]); このlayer変数を単にスクリプトで扱うだけなら、面倒も何もない。 さて、layerオブジェクトを保存/復元してみようとする。(描画内容とかは考えない) 位置やサイズ等の情報は問題ない。DictionaryでもXMLでも書き出してやるだけだ。 では親子関係はどうする? 1.完全な(デ)シリアライズのためには親や子のレイヤの情報も再帰的に書き出す必要がある。 しかしそれには問題がある。 ・プライマリでない限り、レイヤは普通KAGの管理するレイヤの子になる。 ・また、どこかで別のプラグインの生成したレイヤが兄弟になる場合もある。 →これら、別に独自管理されているレイヤの情報を、シリアライザが加工するのは望ましくない。 2.では、親子のレイヤにはシリアライザは干渉しないものとする。 しかし、これでは復元の際に問題が出る。 Layerは常に「Windowオブジェクトに属し」「Layerオブジェクトの子(またはプライマリ)」でなければならない。 最初の例でいえば、kag、kag.fore.layers[0] といったオブジェクト。 これらのインスタンスを、復元時にシリアライザはどこから持ってくるのか。 そもそも、復元時にこれらのインスタンスそのものが存在するという保証すらない。 なんてことを考えると頭が痛すぎる。 なっ面倒だろう。
というわけで、単純に「50個(くらい?)のレイヤにループ処理でそれぞれ画像を表示させる」のが目的なら 俺ならこんなふうに書いてみるかな。 [iscript] tf.arrow = []; tf.arrow[0] = 20; tf.arrow[1] = 40; tf.arrow[2] = 60; // tf.arrow[20]とか[40]だと配列が20個,40個....といったように無駄に確保されてメモリを食われるので // 「配列の個数は少なくして、その代わりに値でnを表現した方がお得なんじゃね?」という理屈です // ちなみにここで定義したtf.arrowの数(つまり今回は3個)がそのまま「画像を表示するレイヤの数」になるので // 51個の画像を表示したけりゃtf.arrow[50]まで書いてくれ tf.currentLayer = 0; // tf.layer_noと思ってくれ [endscript] [laycount layers="&tf.arrow.count"] ; 上記の例でいくと、ここで3個のレイヤが確保されるハズ ; ループ開始 *loop_start [jump target="*loop_end" cond="tf.arrow[tf.currentLayer] === void"] ; tf.arrow分のレイヤを使い切ったら終了 [image storage="レイヤに表示する画像" layer="&tf.currentLayer" page="fore" left="X座標" top="Y座標" visible] [move layer="&tf.currentLayer" path="move先の座標" time="moveに費やす時間"] [wait time="&(tf.arrow[tf.currentLayer] * 50)"] ; ここでtf.arrow[0]等で指定した秒数(20*50 = 1000ms)分のウェイトをかける [eval exp="tf.currentLayer++"] [jump target="*loop_start"] *loop_end ; ループが終わった後の処理をここに書くこと ------------------------- まあ直感で書いただけでデバッグしてないからこのまま動く保証は無いけどな!
コード汚くなってよければどうにでもなるだろう。 kag.primaryLayer 直下に適当にプールつくってならべとけ。 全然頭痛くするような話ではないと思う。 まあ、Image クラスほしければ適当にネイティブで書いて追加すれば いいじゃないか。例えば LayerExDraw プラグインには実際存在してるし。
primaryLayerに描画してみたら?
>>758 そもそも親子関係の状況を持っているオブジェクトが、逐次ユーザーからのリクエスト(例えばセーブやロードか?)を受けて
保存/復元される、そういった影響を受けるって事があんま考えられないんだよね。そういった複雑な機構はそれこそkagオブジェクトの直下、あるいは
globalで直接生成しておいてシステムレベルで管理する(セーブ・ロードでは影響を受けず、吉里吉里を終了した時にのみ変化する)ってのが妥当なんじゃないかと思うんだけど。
具体的にどういう状況を想定してるの?
763 :
749 :2010/04/22(木) 00:08:51 ID:SmAcktqM
うん自分でプラグイン書く場合は全部、レイヤ管理プラグインを介して扱うようにしてる。
問題は何らかのレイヤをメンバに持つオブジェクトが、例えばKAGレイヤを参照しうる場合。
someObj.lay = myLayer; /*管理プラグインによるレイヤ*/
someObj.lay = kag.fore.base; /*KAGレイヤ*/
シリアライズのコードが
Serialization.save(archive, "lay", obj.lay);
のようになっていた場合シリアライザは、そのレイヤがどう管理されるべきか判断できない。
こういう場合は、
someObj.lay = new KAGLayerHolder(kag.fore.base);
のように明示的にラッパーをかませてやるようにしている。
が、面倒このうえない。
ま、汎用シリアライザなんてものを考えなければ楽になれるんだけどね。
>>762 動機としては、小魔女のFFDシステムみたいに
動的な演出の状態を保存/復元したいというのが始まりだった。
(KAGでは、動的な変化(トランジションやアニメータ)の最中は保存無効)
最初はKAGEXみたいにレイヤ自身の機能として持たせようと思ったけど、
抽象化を進めてすべてのオブジェクトの状態を保存/復元できないか? と思ったのが運の尽き。
ずばりADV系システムの設計としては間違いだから考え直したほうがいい
765 :
749 :2010/04/22(木) 00:22:16 ID:SmAcktqM
間違っていたとしても、C++とTJSあわせて数万行のコードと それを利用した数百KBのシナリオがある以上、後戻りはできない…… チラ裏化してるからこれで失礼します。
>>763 >動機としては、小魔女のFFDシステムみたいに
よう5、6年前の俺。
動いてる最中にセーブさせなきゃ良いんだよ。
デシリアライザなんて後方互換ないのが普通だからその問題もついて回るぜ。
>>764 そもそもGUI部品のLayerに画像を紐付ける設計が変なんだよ。
Layerは層をなすものだから親子関係があってもいいけど画像にまでそれを強制するのはおかしいだろ?
紐付いてる以上強制される。それよりLayer.draw(image)みたいなのがあった方がいい。
Imageを分ければバッファとして使えるしこれに読み書き機構を付ければLayerを画像として書き出すより汎用性高い。
親子関係のないfloatした部品でもあればマシだけどね。
767 :
693 :2010/04/22(木) 18:36:52 ID:uEy1/euH
遅くなりましたが、報告とお礼を。
>>694 ボタンでも同様の動作をしました。
>>695 [s]タグをリンクの直後においてるんですが、何故か先に進みます。
初心者丸出しのコピペで試させていただきましたが、
エラーが出てしまいました。
ちなみに、
kag.closeByScript(%[ask:true])
ではなく、
kag.close()
を使うと、先には進みませんでした(でも、「はい」を押したときにエラーが発生…)
お手上げ状態だったのですが、規制されて書き込めなかったので
色々試している内に、
conductor.wait(%[
not_closed : askOnClose_save
の前に
if(elm) return;
を追加したら、正常に動作するようになりました。
まだまだ勉強中でスクリプトとして合っているのかは分からないのですが、
取りあえず解決しました。
遅くなりましたが、有り難うございました!
日本語OS以外では起動しなくなるような方法ないかな?
環境取得のプラグインを作る
その機能は標準で付けてほしいな。 海外から表現でとやかく言われるのは困る。
OSのバージョンを取るのがSystemであるんだから 作るの自体は簡単そうね
その前に外人って金はらってんの?
>>772 吉里吉里つかった同人ゲーとかは、99%違法DLだろうね
外国語OS使っている日本人だっているし、日本のゲームをいちいち 翻訳して遊ぶようなマニアな外国人もいる。 全員がお金を払っていないとはいえない。 まあもちろん、比率からいって怪しいのが多いのは否定しない。
つまり
>>773 ってことですね。
なんで簡単なことをわざわざ難しく言い直してるんだw
普通は難しいことを分かりやすく言い直すもんだぞw
[stopmove]って全ての移動中のレイヤがその場でとまってしまうと思うのですが 一部のレイヤだけを止めるには、どうすればよいでしょうか。。 stopMoveメソッド?とかを使うのでしょうか。 ググったりリファレンスを見たりしたのですが… 理解が足りないようなのです。 [stopmovelayer layer="0"] みたいな感じで実装できたらいいなと思うのですが。 ヒントだけでも、教えていただければご幸甚です。 よろしくお願いいたします。
>>775 正確に言おうとしてるから。
ま、「日本語OS以外使えません」という注意書きありで、他を蹴る仕組みを
入れておくなら、正規な人たちは回避するだろうから問題ないだろうな。
外圧の道具に使われるのはごめんだから 建前上日本語圏じゃないと動作しませんとしたいんだろう もちろん勝手に翻訳されて売られたらどうしようもないが
ん?海外のアングラか?
>>776 [macro name="stopmovelayer"]
[eval exp="kag.getLayerFromElm(mp).stopMove()"]
[endmacro]
でも、moveってその場で止まるんじゃなくて終端まですっ飛んでいくと思う
あいつらリバースエンジニアリングしてまで日本のエロゲ翻訳してる変態紳士だからな。 制限かけたいのは分かるがそれを突破されてるからうpられてるんだぞ。 鯖と承認するとかしかないんじゃないのか?
好きな作品翻訳してる奴はともかく、ただのクズに紳士とかつけんな 糞外人死ね
つかそういう話になると、鯖と承認するところを改変されて突破されるって話で
くやしいのぅ くやしいのぅ
bikiniwww
787 :
名前は開発中のものです。 :2010/04/25(日) 18:54:26 ID:81fLtIFb BE:998994454-2BP(1)
吉里吉里初心者のものです。
まだまだ分からないことだらけで、勉強に困ってたんですが、
よく考えれば吉里吉里で作られたフリーゲームのデータをのぞいてみれば
凄く効率よく勉強できるんじゃないかな、って思ったんですが、
そういうことはやっぱりしちゃダメなんでしょうか?
そういうことはできないんでしょうか?
他人のソースなんて見ても、ましてや初心者なら尚更 意味無い
でもどうしても見たいんです!
見せてください先生!
>>789 ところでこのソースを見てくれ。こいつをどう思う?
function resetPriority(index, priority = 0.0) {
// プライオリティを再設定する。
var elem = _priorities.stopped.searchByName(index);
elem = _priorities.running.searchByName(index) if elem === void;
elem.value = priority;
_priorities.stopped.sort(function(lhs, rhs) {return lhs.value < rhs.value;}, true);
_priorities.running.sort(function(lhs, rhs) {return lhs.value < rhs.value;}, true);
}
>>790 すいません、初心者なので何が何だか分かりません!
すごく、ながいです・・・としか分かんないっす先生・・・
ゲームのソース公開しているサークルもたまにあるから、それを参考に すりゃいいだけだろ。
>何が何だか分かりません! 他人のソース(スクリプトでもシナリオでも)読んでも、多かれ少なかれそんな感じになると思う。 初心者でなくたってそう。 自分で書きつつ、詰まったらggrなり解説サイトなり吉里吉里本を参照するのが 結局勉強には効率良い気がする。
794 :
名前は開発中のものです。 :2010/04/25(日) 19:29:14 ID:81fLtIFb BE:199799322-2BP(1)
>>792 そうなんですか。
でも探すの大変そうですね。
やっぱりズルはだめっぽいですね。
もう少し粘ってみます1
>>793 そうなんですか。
ものすごく納得しました。
やっぱり地道に努力していこうと思います。
自分が欲しい機能を部分的に解説してるソースなら読めるけど ただ単に、他人のスクリプトだのなんだの見てもさっぱり参考にはならんよな
自分のやりたいことを順に調べてできるようになっていく方がいいと思うよ。 初心者がはじめから TJS を習得するのが目的ってのは何か危険な気がする。
TJSちゃんとやるなら他の言語やってから出直した方が早い 情報が少ないし吉里吉里は非プログラマにはかなりわかりづらい構造になってるしKAGは汚いし
質問です 制作は完成して、配布の為の実行ファイルを作る段階なのですが、リリーサーで作ると実行ファイルと同じ名前で拡張子がcfのファイルができますよね 吉里吉里設定を保存する為に必要とのことですが、ユーザーが拡張子を非表示にしていた場合、実行ファイルとの名前の区別がつかないと思うのですが どうしたらいいのでしょうか?
>>799 実行ファイルのアイコンを変えて、いかにもこちらをクリックするのですよ、
と視覚的に明示する。
拡張子非表示がデフォルトなの止めてほしいよなあ。
>>800 ああ、やっぱりそれしか無いんですかね
その線でやってみます
802 :
776 :2010/04/26(月) 01:59:58 ID:lpWSqc7K
>>780 無事、難なく組み込めました。本当にありがとうございます!
お礼が遅くなり申し訳ありませんでした。
このスレがないと生きていけない体になりそう。
いつか回答する側に回れるよう精進いたします。
やっぱり最初に作るのは、温めてた話を使うのはもったいないよね。
もっと吉里吉里を使えるようになってからの方が作品としていいのが作れるように
なるに決まってるもんね。
じゃあどんなゲームを作ろうかな・・・
やっぱりネタかな・・・
最初に温めてきたものを作ろうとすると、妥協が出来なくなるわ、 力量も分からずに無駄に長編化しようとするわで、ほぼ100%挫折 する。 まず五分のものでいいから一つ完成させる。話はそれからだ。
俺たちの冒険は終わらない!ではじまって回想形式で付き足していけばそのうち長編になるんじゃね?
最初はどっかの手伝うくらいでいいと思う。 内容に口出す気がおこらない分、技能の習得に専念できる。 さらに勉強中のコード試す人柱や人脈も得られてお得。
確かに最近はシナリオ屋がスクリプタ(やプログラマ)を兼ねる事が多いらしいし、吉里吉里にもそれは当てはまるけど 「いいゲーム(のシナリオ)を作れる」と「吉里吉里に対する熟練度が高い」とは別の話だと思うよ。 ぶっちゃけ多少立ち絵を動かすこと、フェードインアウト等の軽微な演出が出来ること、オートやスキップが出来ること程度の機能があれば ADVゲーとしての立ち位置は成立するんだしな
過去ログ検索しても出てこないんですが kagでintrandomの()内に2つの一時変数で指定した整数間の範囲で 乱数を生成したい場合はどうすればよいのでしょうか? 普通にintrandom(一時変数1, 一時変数2)と入力しても正常に動作してくれません
一時変数に変なものが入ってるとかだろ 前後のコード晒せよ
*ok [commit] [eval exp="tf.br2 = tf.br"] [eval exp="tf.dice2 = tf.dice * tf.br "] [eval exp="tf.dice3 = tf.dice * tf.br2 "] *roll [eval exp="tf.count = tf.count + 1 "] [eval exp="tf.bra_d = intrandom( tf.dice , tf.dice2 )"] [eval exp="tf.bra2_d = intrandom( tf.dice , tf.dice3 )"] [eval exp="tf.ba_r = tf.bra_d - tf.bra2_d"] [if exp="tf.ba_r < 0"] [eval exp="tf.ba_r = 0"] [endif] [jump target=*damage] こんな感じなのです intrandomの一時変数による範囲指定はkagリファレンスでは触れられてないので 何が変なものなのかよくわかりません 記載されていない禁則事項とかあるようであれば、教えて下さいませんか?
あ、念のため追記しますが tf.brとtf.diceはこれ以前にボックスに入力して代入する形になります 余分に見えるところは何とか一時変数による指定ができないか 悪あがきしたところです、みにくくて申し訳ない…
*ok [commit] ;追加 [eval exp="tf.br = 2"] ;追加 [eval exp="tf.dice = 3"] [eval exp="tf.br2 = tf.br"] [eval exp="tf.dice2 = tf.dice * tf.br "] [eval exp="tf.dice3 = tf.dice * tf.br2 "] *roll [eval exp="tf.count = tf.count + 1 "] [eval exp="tf.bra_d = intrandom( tf.dice , tf.dice2 )"] [eval exp="tf.bra2_d = intrandom( tf.dice , tf.dice3 )"] [eval exp="tf.ba_r = tf.bra_d - tf.bra2_d"] [emb exp="tf.ba_r"] [if exp="tf.ba_r < 0"] [eval exp="tf.ba_r = 0"] [endif] ;追加 [emb exp="tf.ba_r"] [s] こんな風にしてみたけど普通に動作しているように見えるぞ おおかたtf.brかtf.diceに数字じゃなく文字列が入ってたり 何もデータが入ってなかったりするんだろう
ボックスってのがどれ使ってるのか知らないが、大方inputタグじゃないのか。 型が文字列になってるのに一票。 一時変数をコンソールなり監視式なりで確認。 stringになってたらintでも使って変換しとけ。
814 :
776 :2010/04/27(火) 21:17:48 ID:prscIQvY
tf.aa=1 tf.bb[1]=100 として [eval exp="tf.ccc = tf.bb[&tf.aa] +20"] [emb exp="tf.ccc"] としても、10020となってしまうのですが 120と表示させたい場合はどうすればいいでしょう?
ぐあ、自分は776ですが、あえてそれを入れる必要のない質問でした。すみません。。 暫定で名無しに戻ります
前のと一緒で型が文字列になってるんだから、数値に変換して足し算。
>>816 real(tf.bb[&tf.aa]) +20
でイケました!! ありがとうございますm(_ _)m
>>812-813 レスありがとうございます、返信が遅くてすみません
一時変数をそれぞれint()で変換することで解決致しました
一時変数はeditで入力していたのですが、
intrandomの()は半角数字でも文字列として判別されるんですね
intrandom以外では通常の数字のように扱われてるので気付きませんでした
これで正常な動作ができそうです
ありがとうございました
PhotoShopでPNG作るとαチャンネルがうまく読み込めないことがある 色々ググってみ
てか半透明ウィンドウって使えるのん?
>>820 に関しても透明か不透明かのどっちかしか使えないと思ってた。
半透明のウィンドウは作れないよ 不透明度の情報でウィンドウを切っているだけ リファレンスのWindow.setMaskRegion嫁
動画ってmp1にするべきなの? 理由がまったく分からなくてあばばば
>>823 うお。マジか。
リファレンス読んできたけど、切り取る気満々だね・・・。デザイン考え直さねば・・・。
2件ほど吉里吉里(おそらく)で半透明窓使ってるの見たことあるけど、
あれはプロの犯行なんだな。
ありがとう。傷が浅い内に引きかえせたよ。
>>824 mpeg1以外は環境依存が激しくてサポート地獄
wmv ならまあなんとか
>>825 そりゃたぶん子レイヤをウィンドウっぽく表示しているだけだろ
メインウィンドウの外にダイアログをドラッグできなかったらビンゴ
>>827 すげぇ。二件ともビンゴだった。
そうか、フェイク(笑)使えばトランジションとかも何とかなるのか。
ちょっと往年のドット影に逃げずに頑張ってみるよ。ありがとう。
規制でお礼が大分遅れましたが
>>581 です
>>589 レスありがとうございます
サブルーチンから抜けないままKAGで最初に戻ってるのに
問題があるような気がしてきました
といっても対処法もわからないので
とりあえずまっさらな状態からやりなおしてみます
親切にありがとうございました
質問です 例えば、ウィンドウサイズを800x600とかにして imageタグで(1000,1000)あたりに置いた画像をmoveで画面内に持ってくることはできますよね これって、もともと置いておく画像はどの範囲くらいまで平気なんですか? (100000,100000)とか(-100000,-100000)とかでも平気ですか?
男は度胸!なんでも試してみるのさ
-2147483648~2147483647ぐらいはいけるんじゃね?
そもそも吉里吉里のレイヤの座標管理は32bitINTなのか……
TJS同様64bitでしょ とりあえずLayerのleftプロパティに -9223372036854775808 と 9223372036854775807 が代入できた 実数も代入できたけど範囲は調べてない まあ、「1ミリ秒に+1される±0から始まる値」があっても上限突破まで3億年近く掛かる計算だから、 普通はその類の上限とか気にしないわな
最近吉里吉里を触り始めた初心者なのですが質問させてください。 既出でしたらすみません orz template(初期状態)のフォルダで白い背景と黒い背景を作って 白い背景から黒い背景にクロスフェードでトラジションすると トラジションの間にウィンドウの左上にウィンドウの縦横半分くらいの大きさの赤茶色いレイヤーのようなものが表示されるのですが これはどのレイヤーが表示されているのでしょうか?できれば削除したいのですが・・・。
よくわからんけど文章表示するレイヤじゃね?
>>836 吉里吉里実行中に shift+F12 次に shift+F4
これで全レイヤのサイズと表示状態が分かる
>>836 トランジッションの間だけ、表示されるってこと?
取り合えず、シナリオを極力シンプルに整理して、再現性のあるソースを貼ってみれば?
あと、吉里吉里とKAGのバージョンと
Config.tjsのメッセージレイヤ関連の弄った項目で関係がありそうなものがあればそれも。
すいません、時間制限の選択肢ってどうやるんですか?
タグとかあれば教えてくださいorz
>>840 貴方には無理だから諦めてください。
人のソースを見たがったり、ここで安易に聞いて済ます前に、
まず自力で調べる力をつけましょう。
>>841 答える能力がないなら黙っていていいんですよ?
843 :
836 :2010/04/30(金) 21:45:17 ID:9+vlagJF
>>838 こんな機能あったんですね・・・orz
試してみたところ、該当のレイヤのようなもののサイズが320x240くらいだったのですが
残念ながら同じサイズのレイヤーがありませんでした・・・。
>>839 はい。トラジションの間だけ表示されます。
吉里吉里は安定版をダウンロードしたのでversion 2.30 stable rev.2 / KAG 3 3.30 stable rev.2だと思います。(先ほどダウンロードして試してみたところ同じ症状が出ました。)
Config.tjsは解像度を変えたくらいで他は特にいじってません。
ソースですが
[image storage="black" layer=base page=fore]
[image storage="white" layer=base page=back]
[trans layer=base time=1500 method=crossfade]
[wt canskip=true]
[wait time=1500]
[image storage="black" layer=base page=back]
[trans layer=base time=1500 method=crossfade]
[wt canskip=true]
これでよろしいでしょうか?
BGmがなりません プラグインが読み込めないとか
>>843 解像度っていうのは、画面サイズのこと?
取り合えず、画面サイズ700*500で試してみたけど、
そのソースだけでは、うちの環境では再現性ないです。
解像度?とやらを元にもどしても、再現性ありますか?
解像度?とやらが原因なら、たぶん、公式へどうぞって感じかな?
但し、config.tjsにinitialMessageLayerVisibleって項目を参照して欲しいのだけれども、
デフォの状態のメッセージレイヤ0(裏表)は表示されっぱなしなので、
一度目と二度目のトランの間は背景が白なので、
黒地(赤茶ではないけど)のメッセージレイヤ0が見えているのを勘違いしている可能性はありそう。
それが原因なら、KAGリファレンスの基本的な部分が読み足りていないということだから、
急げば回れで、KAGリファレンスを通しで読み直してみて下さい。
846 :
749 :2010/04/30(金) 22:35:05 ID:/A1pkNzM
そうですか、頑張って。 そういうのもなんだから、 とりあえず質問したいなら最低限エラーメッセージ貼れよw
>>843 2回目のtransだけおかしいのか?
1回目の白黒を入れ替えてもおかしくなるのか
fore画像を読み込んだあとにbacklayタグを入れてみるとか
848 :
836 :2010/04/30(金) 23:31:37 ID:9+vlagJF
849 :
848 :2010/05/01(土) 00:50:17 ID:5kw+2AD3
blackとwhiteの画像と config.tjsとfirst.ksもうっぷプリーズ
850 :
849 :2010/05/01(土) 00:59:26 ID:5kw+2AD3
すみません。アンカーつけるつもりで、名前欄間違えましたm(_ _)m
自分は848ではありません。
>>849 は
>>848 宛です。
851 :
836 :2010/05/01(土) 01:03:54 ID:xHpxi0lI
おい…blackの画像… モニタのコントラストの関係で案外気付かなかったりするのかも
blackじゃなくて緑と茶色じゃん
854 :
749 :2010/05/01(土) 01:19:23 ID:h7DUj4X8
>black ワラタwww
チャンチャン
>>841 ソースを見たがるのは悪いことなんですか?
ソースを見る事が「このタグは『こういうことをしてるんだな』という事を理解したい」というような学習意欲によるもんならいいと思うよ。 ただ、「よくわかんねえけどこのサンプルを使って適当に修正すれば動くだろ」っていう、原理に興味を持たず楽したいって考えによるもんならそれはクソだって事さ
初心者と言えばなんでも教えてくれると思ったら大間違いだよ 自分から調べて理解しようという気がなきゃ無理
吉里吉里くらいでそんな大層な志いらんよw
861 :
836 :2010/05/01(土) 09:54:30 ID:xHpxi0lI
Blackの画像差し替えたら治りました・・・orz 自分のモニタだと違いがまったくわからないなぁ。 検証していただいたみなさまありがとうございましたm(_ _)m
>>860 日常生活のありとあらゆる場面で言えることだと思うが。
志というほどのことでもない。
>>861 キャリブレーションしろ。
色の感覚おかしくなるぞ。
抜きゲとかでよくあるホイールでシーン巻き戻しが実装出来るプラグイン有りますか?
>>864 そんなガチガチの実装依存なプラグインがあるか。
ちょっと考えてみた。
アルゴリズム的にはゲーム中の全ステートとテキストのスナップショットを定期
的に取ってユーザーの任意のタイミングでスナップショット書き出せばいい感じか。
パッチ耐性を保つためにどこでスナップショットとるかだな。
ゲームの進行記録を踏破順に持っておい
て巻き戻すときに逆方向にたどって反対
の変数操作をすればスナップショット取る必要ないか。
まあどっちにしてもシナリオをナレーティブにスクリプトに落とし込んでたら実装できないな。
シーン管理やらないとメンドクサイ。
仕様決めないとどうしようもないぞ。
「セーブはラベル単位でしか出来ない」=「ラベルがキチンと定義されてればそこまで辿る事は出来る仕様」ってのを逆手にとって 『現在のラベル箇所よりも一つ手前のラベル部分のシナリオを実行する』という形で再現するのは出来そうだわな。 正直そこまでやるのはしんどいけど
一番簡単でバグの出にくい方法を思いついた。 分岐条件を固定して全ルートを網羅したグラフのノードにピンポイントで飛ばせばいい。 それなら複雑な操作もあったもんじゃない。 ひぐらし祭カケラ遊びがこういう感じの実装だった気がする。
>>857 そんなつもりはないんですけど、普通そう思いますよね。すみません。
>>858 ありがとうございます。
自分では1時間くらい探したんです。
タグリファレンス(しか知りませんでした)を探したり、検索エンジンで
いろんなキーワードを並べて検索して見たんです。
結果的に簡単に見つかるもの(おそらく)だったのでそう言われても
言い返す言葉も卑屈に聞こえるでしょうが、
勉強する気がないわけでもやる気がないわけでもありません。
本当にありがとうございました。
ゲームとかをやっていると CTRLでスキップしている最中でも一時的にそのスキップをとめてCGや演出が入る。 その間もCTRLを長押ししてると その演出が終わったあとにまたスキップが開始する といった感じのシステム?があるんですが、これはタグレベルで実装できますか? Cancelskipだと再開しないし・・・
870 :
749 :2010/05/02(日) 15:27:53 ID:ikvsHM+P
これでどう? [eval exp="tf.skipMode = kag.skipMode"] [cancelskip] ; <- スキップされない演出 [eval exp="kag.skipKeyRepressed = true" cond="tf.skipMode == 4"]
ちなみに↑は「キー入力によるスキップ」の自動再開しか考慮してないから、 メニュー等で設定した「次の未読までスキップ」とかも再開させたい場合には、 tf.skipMode の値に応じて skipToStop() などを呼び出してやる必要がある。
(・∀・)
[iscript]~[endscript]間での関数の引数渡しがよく解らん…… ともあれテ○リスは無事作ることが出来た。
テトリスならかなり前にソース付きでスレに上がってたよ
>>874 人生の効率を考えるとテトリスを再開発するのは効率が悪い
なので、ソース、exe形式をオープンで公開するのが一番効率がいい
そして、無料だとなお経済効果もあっていい
いや誰もそんな話してないから
なんだ経済効果って
>>873 iscript は、シナリオパース時に吉里吉里がそこの tjs スクリプトをあわせて実行してくれるというもので、
関数登録やクラス定義の類だとグローバルに登録されるだけなので、そこで引数をわたせたりするってことはできない。
普通は、iscript はADV用のスクリプトとは別に、起動時とかに一括して登録する部分でつかって、
KAG中からは eval タグまたはエンティティ記述で呼び出す、といった使い方をする
なるほど。 [iscript] function aaa(){ tf.zzz=bbb(tf.xxx,tf.yyy); return; } function bbb(x, y){ if(x+y>0) return 1; else return 0; } [endscript] こういうの不可ってことでOK?
引数はちゃんと渡せるよ。iscriptは単純に「endscriptタグが出てくるまでの間をTJSの式として評価する」的な動作なので
ちゃんとした関数やクラスを書けばhogehoge.tjsというファイルを読み込むのと同じよーに動作はした筈(うろ覚えだけど)。
もっとも、そういう「ちゃんとした関数やクラス」を作ってるんであれば、わざわざiscript~endscript間で書くよりも
hogehoge.tjsという別ファイルを用意してそこでキチンと定義した方がメンテナンス性上がるんじゃね?っていう別の話もある。
[iscript]
function fooFunc(aValue, bValue){
// aとbを足した値が1以上なら1, そうでなければ0を返す
return ((aValue+bValue)>0) ? 1 : 0;
}
[endscript]
@eval exp="System.inform( fooFunc(1, 0) )"
@eval exp="System.inform( fooFunc(0, 0) )"
といったような事をfirst.ks辺りに書けばちゃんと1, 0がダイアログで表示されると思う。
だから
>>879 の例も一応動作はするんじゃねーかな。試してないけど
まあもっとも、関数aaaの中でtf.zzzに関数bbbの戻り値を代入するよりも
function aaa(aValue, bValue){
return bbb(aValue, bValue);
}
のようにして
@eval exp="tf.zzz = bbb(tf.xxx, tf.yyy)"
といった形で『関数を呼び出す時に改めて値を指定する』方式にした方が可読性は高まるような気もする。あくまで俺の主観だけど
aaa関数しか定義してないのになんでbbb関数を呼んでるんだ……orz
間違えた。定義し直したのはaaa関数なのになんでbbbを呼んでるんだ、か。 @eval exp="tf.zzz = aaa(tf.xxx, tf.yyy)" だな
>>879 いや、別に不可じゃない。ただ、その記述は、単に aaa と bbb をグローバルに定義するだけ。
実際の呼び出しはシナリオ中で
[iscript]
aaa()
[endscript]
とするか、
[eval exp="aaa()"]
とすることになる。むろん その定義の末尾に aaa() を書いてもいいんだが、
毎回まるごと iscript を呼び出すのは定義処理の分無駄になるので定義と呼び出しは分けるのが普通
ただ、
>>880 も指摘しているが、その記述、tf というグローバル変数を直接呼び出す処理を関数にうめているが、
それは単純に見通しが悪くなるので、bbb のような引数をとって動作するような部分だけ定義しておいて、
パラメータ渡す部分は
[eval exp="tf.zzz = bbb(tf.xxx,tf.yyy)"]
とKAG側にもってきたほうがスタイルとしては好ましい。
必要なところでグローバル変数使うのはもちろんかまわないんだが、むやみに
使うと、どこで値がさしかわったのかとかがわからなくなるのでほどほどにな
tjs で関数つくっても、それに引数を渡しつつ呼び出すような kag のタグは存在し無いからちょっと使いづらいかもしれない。 eval は呼び出しまるごと書く必要があるし、エンティティはタグの冒頭でないと使えない。 で、そういうときは、tag を独自に増やすように記述すると、案外すっきり処理できたりする。 こんなかんじで処理を登録しておく。 まあ、iscript 使う必要はなくて、Afterinit.tjs に追記するのが良いといえば良い [iscript] kag.tagHandlers.mytag = function(elm) { // 適当に処理を書く var a = +elm.a + +elm.b; // 変数は elm.パラメータ名 でタグで指定したものが参照できる。ただし、全部文字列なので数値化したい場合などは // +elm.a とか前に + をつけて変換すること。 return 0; // これは必要。単発処理なら0。待ち処理とかの場合は -1返したりする。詳細はKAGの内部のコード参照 } incontextof kag; [endscript] これの呼び出しは kag からこう書くことになる [mytag a=10 b=20] パラメータをいろいろ加工してさらに別のタグを呼び出すといったタグの拡張をしたければ kag.tagHandlers.newtag = function(elm) { // elm をいろいろ処理 return kag.tagHandlers.origtag(%[param:値, param2:値]); } incontext of kag; とかね。KAGのタグ呼び出しルールを把握するといろいろ応用がきかせやすい
吉里吉里のBBSっていつからか、RSSが完全に死んでるけど あれ直らないん? 地味に便利というか、使ってたんだけど
Deeたんに伝えてみたら?
BBSか直接かどっちがいいか分からんけど そのうち言ってみる
常に一番イヤなブロックが落ちてくるテトリス「Hatetris」
それ、このあいだやってみたらずーーっと S しか落ちてこなかったんだけど
最近吉里吉里を始めた初心者ですが質問です。 「if ~ endif の間にはラベルを挟まないでください。」の理由を知りたいのですが。 下記の通りやってみたのですが *普通のシナリオ1 [jump target=*分岐先に行くかシステム変数Aの値で判断] *分岐先に行くかシステム変数Aの値で判断 ;1で*分岐先を通り、0で真っすぐ*普通のシナリオ2へ [if exp="システム変数A==1"] *分岐先 [endif] [jump target=*普通のシナリオ2] if ~ endifの間のラベルでの セーブ・ロードは認識できるので、今のところ不都合さは感じないのですが、 気になって……
endif外からもそのラベルに飛べるから
質問させてください pimageで画像を追加した前景レイヤをmoveで移動させた場合について、 [layopt layer=0 page=fore left=0 top=100 opacity=0] [image layer=0 page=fore storage="立ち絵" left=0 top=0] [pimage layer=0 page=fore storage="汗" dx=0 dy=0] [move layer=0 page=fore path=(0,0,255) time=1000] [wm] このとき「立ち絵」はopacityの指定に従って擬似的にフェードインしますが、 「汗」はmoveが終わるまで表示されず、wm後に突然表示されてしまいます 両方のファイルが同時にフェードインしてくるようにしたいのですが、 これを解決するような方法はあるのでしょうか? よろしくお願いします
>>891 ifタグをしている最中ということが、栞に記録されないので、
続くendifタグは無視されるだけで、問題ないけど、
elseタグがあると、elseタグが無視されて、else以下の内容も
実行されてしまう、とかって、、、感じだったかな。
(入れ子だともっと複雑だったか)
システムの「最初に戻る」コマンドを一時的に禁止にする方法はありますか?
リファよめ
897 :
893 :2010/05/08(土) 14:42:11 ID:vEbyvvXp
自己解決しました こんなことで丸一晩も悩んだのか…… ('A`)-3
吉里吉里でシェアウェアって可能ですか?
商業ゲームも可能です
linkやbuttonは kag.fore.レイヤ.links[通し番号]でアクセスしないといけないようですが、 こういったボタンやリンクにjavaスクリプトのID要素みたいな固有の名前を与えて、 通し番号とは無関係にアクセスするような方法はないでしょうか?
メッセージレイヤ1にだけグラフィカルボタンを設定したいんですけど、 どうやったらできますか?
>>899 言葉足らずですみません。
ライセンスの問題ではなく、シェアウェアにしてもカジュアルハックされてしまうんじゃないかということです。
>>902 そもそも吉里吉里はオープンソースです
ハックとか以前の問題です
単に『中身を解析される』ということをカジュアルハックと言ってるのなら、そんなもん
フリーだろうと商業だろうとされる時はされるよ。特に吉里吉里はソースが公開されてるんだから
>>904 の言うようにそれ以前の問題(その気になれば誰でも中身取れる&既にツールもある)。
あるいは
>>903 の6件目辺りにあるような『容易にデータをコピーされる(割れで出回る)』事をカジュアルハックと言ってるなら
それは吉里吉里とかNスクといったエンジンレベルで考えるべき事ではないだろうね。
もちろん、企業によっては割れで入手してもシリアルがなければプレイ出来ないっていう認証を組み込んでたり、それを利用して
割れで流れてるシリアルを無効にしちまう所もあるらしいけど、そうした機能は吉里吉里に求めるべきもんではない。つーか無い(筈)。
主にインストーラ側で用意するか、あるいは独自にdllを用意して組み込むかして自前で調達するっきゃない。
つまり何が言いたいかっつうと、ハックされる事についての対応を吉里吉里に求めんなよって事です。
その辺りはNスクとかでも似たり寄ったりだとは思うけどね。あくまで「ゲームを作る」為のシステムであって
「ゲームの流通をセキュアに保つ」為のシステムではないんだし。
誰も被害でないから 安心して作る汁
読みにくくてすみませんが、以下のコードのうち、*1と*2は問題なく、 *3と*4はエラーが出るのはなぜですか? VMの仕様でしょうか? (継承時に子のメソッド内で親のコンストラクタ呼び出しは認められない?) class Fuga extends Layer { function Fuga(){ super.Layer(...); } } function HogeFunc(){ return (new Hoge(kag, kag.fore.base)); } class Hoge extends Layer { var tmp; function Hoge(){ super.Layer(...); } function hoge(){ new Hoge(kag, kag.fore.base); } function fuga(){ tmp = new Fuga(kag, kag.fore.base); // *1 tmp = HogeFunc(); // *2 tmp = new Layer(kag, kag.fore.base); // *3 tmp = new Hoge(kag, kag.fore.base); // *4 } } var hoge = new Hoge(kag, kag.fore.base); hoge.fuga();
>>907 *3 で見えるのは親のコンストラクタ (this.Layer)
*4 で見えるのは自分のコンストラクタ(this.Hoge)
new はクラスを指定する必要があるので、それぞれ global.Layer 、global.Hoge でアクセスする必要がある
実装上コンストラクタとメソッドの区別をつけてない TJS2 特有の癖やね
前に、りーや氏作の棒グラフプラグインのエラーについて答えてるレスが あったと思うんだが、いつ頃だったか覚えてる奴いたら教えてくれないか? 今になって参考にしたい。
911 :
907 :2010/05/09(日) 17:54:23 ID:OhsCq8C3
>>909 なるほどそういうことですか。
thisが暗黙に呼び出されていることに気づくべきでした。
回答どうもありがとうございました。
>>909 この実装は困るよな。
真似てるjavascriptのほうでも関数をnew付けて呼び出したときに
挙動が違うだけで本質的な違いがないのに実装上はコンストラクタと関数を
分けなきゃいけないから少し面倒な実装をする。
jsは既存のコンパイラコンパイラじゃ仕様満たせないから
手書きがほとんどだが吉里吉里も似た理由なんだろうか・・・。
ラムダがあるのに実装上レキシカルクロージャ未実装だったり吉里吉里の実装は潜在的にバグを誘発しやすい。
「コンパイラが認識ミスするような書き方」をしなくなる、という点では有意義かもしれんけどね 暗黙のうちに呼び出されてるのがthisなのか他の位置に在るものなのか、本来なら気にしなくて良いような事でも 目を向ける機会になるってのは確かだし。まあ、そもそもそんなややこしい認識されちまうような書き方すんなよって意見もあるだろうけど。
>>896 出来ました。アドバイスありがとうございます。
915 :
名前は開発中のものです。 :2010/05/09(日) 21:46:32 ID:3dBWBxJN
すいませんが質問させてください。 画面上に表示させるステータスをON/OFFさせるボタンを配置したいので グラフィカルボタンでメッセージレイヤ2を見えなくしたり見えるようにする方法を教えてください。
Afterinit.tjsとかfirst.ksで(後者の場合は@iscript, @endscriptタグ必須な) function hideMessageLayer( hideLayer=0 ){ kag.fore.messages[hideLayer].visible = false; kag.back.messages[hideLayer].visible = false; } ってのを定義して、グラフィカルボタンのexp属性を exp="hideMessageLayer(非表示にしたいメッセージレイヤの番号)" みたいなのを継ぎ足せばいいんじゃね
917 :
915 :2010/05/10(月) 00:10:56 ID:ID0dgP8e
>>916 ちょっと難しそうですね。
ここで聞いてよかったです。ありがとうございました。
>ややこしい認識されちまうような書き方すんなよ global明示ならthisも明示にすれば良かったと思うよ。 スクリプトはややこしい部分排除してこそ。
どなたか
>>900 についてヒントだけでもいただけないでしょうか……
>>919 登録時に辞書つくって登録するような処理を MessageLayers に足す
例: kagex の MessageLayers.tjs を names で検索
910だけど、どうでもいい質問してごめん。 調べても調べても調べても出てこないと思ったら、 思ったよりずっと昔のレスで驚いた。時が経つのは早いな。 どれだけゲーム制作から遠ざかっていたかが良く分かる。
>>920 外部にkey->value,value->keyの両方で取れるマッパー作ったほうがMassageLayerいじらない分ソースの変更に強いんじゃね?
別にMessageLayerクラスをいじらなくても、MainWindow.tjsの中 のgetHandlers()内で link : function(elm) 及び button : function(elm)を経由すれば出来そうな処理ではあるな。 例えば // AfterInit.tjsとかテキトーな所でglobal.LinkObjects(仮称)を定義しとく global.LinkObjects = %[]; button : function(elm){ // グラフィカルボタン if(currentWithBack) current.comp.addButton(elm); current.addButton(elm); // ここから追加行(同じもんをlink : function(elm) にも付ける) if(elm.id !== void){ global.LinkObjects[elm.id] = current.links[-1]; // 最後に作られたリンクをelm.idで関連付ける } // ここまで追加行 return 0; } incontextof this, er : function(elm){ // 現在のメッセージレイヤのクリア if(historyWriteEnabled) historyLayer.repage(); if(currentWithBack) current.comp.clear(); current.clear(); // ここから追加行 global.LinkObjects[elm.id] = %[]; // erタグが呼ばれたらリンクオブジェクトが全部死ぬらしいのでついでにコイツも殺しとく // ここまで追加行 return 0; } incontextof this,
みたいな処理をgetHandlers()の中に組み込む(button, linkといった部分を上記に置き換える)とすれば [link target="*label" storage="hogehoge.ks" id="foo"]リンクテキスト[endlink] なんてタグが呼ばれた場合、 global.LinkObjects.foo を呼び出してやれば当該リンクオブジェクトにアクセス出来るような気がする。 実際に試した訳ではないから上記ソースが動作する保証は無いが、あくまで考え方の一つとして受け止めといてくれ。
erタグ部分のところの追加コードが間違ってたな……。 global.LinkObjects = %[]; だ。
レイヤのコピーとかトランジッションとか、タグのwithback属性とかも考慮するんだと、 全体通しで管理するより、MessageLayerで、links配列と平行する配列なり辞書に名前登録で管理したほうが、頭使わなくて済みそう? 900はなんで、そんなことしたいんだろう? 単に順番が狂うのが問題とかなら、buttonタグとかをマクロで包んで名前属性とカウンターつけて 必要なところで、辞書に名前とカウンターの値を保存とかってぐらいでも、よさげだけど。
>>921 あー、懐かしいなそのプラグイン…
りーやは俺です
俺も吉里吉里からすっかり離れてしまっているけど
このスレは見てるので何かあればわかる範囲で答えるよ
ふと某マジカルプリンセスを思い出した
929 :
910 :2010/05/14(金) 18:07:40 ID:TjY00Xnu
>>927 おおお……生ける伝説に出くわした気分です。
便利なプラグインを公開していただき、ありがとうございます。
分からないことがあったら書きこませて貰いますね。
他のプラグインも含め、未だに使ってる人多く見かけるんで、
りーやさんの功績は偉大ですね。
やっと規制解除された( つω`)
>>870 遅れましたが、思い通りの動作ができました!!有難うございます。
また規制されてる間に質問が・・・ 文字を決まった範囲の中央に表示させようとおもい.lengthで調べたのですがaaaaとpppp、PPPPでは同じ文字数でも長さが変わってしまってだめでした(大文字小文字含めて5~30文字くらい)。 新しいメッセージレイヤーとかはなるべくない方向で作りたいです。
プロポーショナルフォント使用してるんじゃないの。 文字幅揃えたいなら等幅フォントにしておいた方がいいよ。
>>933 なるほど・・・システム面じゃなくてフォントの問題だったんですね。
勉強になります。ありがとうございます~
ループについて質問させて @eval exp="tf.zanzouda=1" @eval exp="tf.zan=1" *ru-pu @eval exp="tf.zanzouda = ++tf.zan @if exp="tf.zanzouda<5" @move layer=0 path=(210,60,256) time="100" @wm @move layer=0 path=(190,60,256) time="100" @wm @endif @if exp="tf.zanzouda<5" @jump target="*ru-pu" @endif tf.zanzoudaが50になるまでループさせるつもりなのですが、無限ループに陥りますorz
@eval exp="tf.zanzouda = ++tf.zan" ダブルクォーテーション閉じろヴォケ
うほっ。すまん、ありがと
できた。ありがと
>>935 KAGって、これでエラーが出ないのか……。
いいことなのか悪いことなのかw
>>932 >>933 の指摘で考え的には解決しちゃってるのかもしれないけど、単純に『特定の範囲内で、特定の文字を中央に表示させる』のが目的なら
lengthを取るよりもgetTextWidthないしgetTextHeightを使い、実態のサイズを取得した方が良いかもしれんよ。
例えばmessage0だったら
@eval exp="tf.strWidth = kag.fore.messages[0].ll.getTextWidth('あいうえお')"
みたいな感じで「その時点のフォントサイズで'あいうえお'を表示する場合、どの程度の横幅を取るのか」を取得出来る筈。(getTextHeightなら縦幅)
そんな具合で実効値を取得した方が都合が良いかもしれん。(lengthで得られた文字数 * フォントサイズ みたいな感じの概算でやると
>>932 みたいな結果になる)
ぶっちゃけkag.fore.messages[0].ll であってたかどうか自信無いけどな!
背景(解像度:640x480)にjpgまたはpngのファイルを使おうと思ってます。 どちらの形式が動作的に好ましいですか?
画質ならPNG JPGはよほどディスクサイズが逼迫してない限り使わん。
効果音(buf=0)が再生中かどうかを判定するのって、どうやるの?
kag.se[0].status === "play"
>>941 あなたが神か。
すげー綺麗に整列できました。 有難うございます!!
因みに私はこんな所から参照しちゃいました ><)つkag.current.lineLayer.font.getTextWidth
そういう時、参照渡しっつうかエイリアスっつうか 「名前が違う得られる結果が同じ」な構造の変数っていうのは便利だよな。
さてまた詰まった/(^o^)\ BGM流して終了した時に関数呼び出したり、今現在何秒目か調べたりする事って可能かな? 1個の曲が終わったら違う曲へ移動してずっと再生を維持させてループさせたい とりあえずタイマー使って自分で指定してみたけど たまにずれたりして曲が終わってもなかなか移動しなかったり、早すぎたり。 そういうことがあったので実際のプレイ経過時間とイベントタイマーとで同期とったりしたいんですが難しいですか?
>>949 高等すぎて分からない\(^o^)/タイマーであきらめよう・・・
こんばんは。 ちょっとお尋ねさせてもらいたいんですが、 KAGに、クリックを監視するような命令ってあるのでしょうか。 オープニングデモみたいなのを作ってて、 鬱陶しくなったらクリックしたらスキップ、をしたいのですが、 こういった命令の有無があるかどうか知りたいです。 どうかお手隙の方、教えてくださいませんか?
マニュアルを click で検索するぐらいはしたかい?
>>950 Timer使うってことはつまるとこTJSで書くこと前提だよな?
KAGでそういうことする(音楽が止まったに何かを呼ぶ)為にはsetbgmstopを呼んでる訳だが
TJSだとそれはまんまkag.setBgmStop(%[]) に該当するわけだ(MainWindow.tjsをsetbgmstopで検索してみれ)
だからKAGでやるなら
@playbgm storage="hoge" ; 要はココで曲の再生をする
@setbgm exp="呼び出す関数orTJS式" ; 直下で「停止時に呼ぶ関数orジャンプするシナリオetc」を指定する
TJSでやるなら
kag.bgm.play(%[storage:hoge]); // 曲の再生
kag.bgm.setBgmStop(%[exp:呼び出す関数など]); // 直下で(ry
という風に指定してやれば、望みどおり「音楽の再生が止まった時に何か関数を呼ぶ」が成立するんじゃないか。
「ずっと再生を維持してループ~」みたいな処理は、呼び出す関数の中で考えるべき内容かもしれん。
現在の秒数を判断する式は判らん。
kag.bgm.currentBuffer.position
>>954 私のはKAGとTJSをごちゃ混ぜに使ってて非常に醜いソースとなっております \(^o^)/NO ソース公開
setbgmstop便利ですね。途中で曲切り替えた時も呼び出されるとは、流石吉里吉里最高!
>>955 神しかいないのかこのスレは
こういう物ってどこかに書いてあるんですか?それとも自分でsystemとかの中から自分で?
それにしても吉里吉里には本当に何でもある事に驚く。自分で作るのバカらしくなるな・・・
>>952 kagのなかにleftclickhook的なのがあったような
マクロ内で x+y や x+定数 の計算をさせたいのですが [emb exp="mp.x + mp.y"] とすると変数が文字列扱いになって困っています どのようにすればよいのでしょうか?
整数なら int(mp.x) + int(mp.y) 実数なら real(mp.x) + real(mp.y)
>>959 ありがとうございます
無事解決いたしました
吉里吉里を使ったゲームをやってるんですが途中でいきなり再起動したりブルースクリーンになったりします。 別の吉里吉里のゲームをやっても同様のことがおきるのでどうやら吉里吉里に問題があるみたいなのですが。 (吉里吉里でないゲームや普通に使ってる分にはPCは全然問題ないです) ウイルスバスターとか常駐を止めても同じ事がおきるのですが対処法とあったりしますか?
>別の吉里吉里のゲームをやっても同様のことがおきるので >どうやら吉里吉里に問題があるみたいなのですが。 そこで吉里吉里に原因を求めるのが一段飛ばしてる感じがするな PCに問題あるか動作条件満たしてないんじゃねーの?
そんな症状ってあるのかな? とりあえずPC環境とエラー状況を なるべく詳しく書いて公式で質問してみては?
この場合の公式はそのゲームの公式であるべきだな つかここゲーム製作技術板だよな……
Windows 98 とかじゃないの?
>>961 吉里吉里にマシンを落とすような機能は無い。というかそんなプログラムは普通のアプリでは作れない
・メモリに障害があって、たまたま吉里吉里を使うとそのメモリにアクセスしやすい状況になる
・グラフィックドライバにバグがあって、たまたま吉里吉里を使うとそのバグをふんでしまう
・電源ないしマザーが熱暴走の類をおこしやすい状態になっていて、たまたま吉里吉里を使うと負荷最大時に暴走する
のいずれか。
悪いのは間違い無くおまえさんの環境
とりあえず、
各種ドライバを全部最新にする、メモリチェックツールをつかってメモリに問題が無いか調べる、
吉里吉里を低負荷モードや低メモリモードで動作させて様子を見るぐらいをして、それでも改善されないなら、
あきらめてマシンを更新しかない
とりあえず分かる範囲でスペック書いてみます。
pentium4プロセッサー550 3.40GHz
メモリ512MB
HDD300GB
ディスプレイ17型1280×1024
directX9.0c
OSはXPです。
>>962 >>963 吉里吉里のゲームをやってる時しかこういうことが起きないので
なにか原因があるのかと。どこかで相性が悪いのかもしれないです。
>>964 すみません、どこで聞いたらいいかわからなかったので色んな板で吉里吉里で検索したらここに来たんです。
いきなりツール側を疑ってかかるあたり、かなりの無知っぽいので吉里吉里製じゃなかったってとこまである話だな。
>>967 ついでなのでもひとつ
「BlueScreenView」というアプリをつかうと何が原因でブルースクリーンになったのかを調査できる。
それを見た上で自分の環境のどこがおかしいのかを特定して、それを解消すれば良いだろう。
ネイティブプラグイン(DLL)のバグの可能性が高いとエスパー。 DirectXとかでハードウェア触る奴はとくに。 つか、某吉里吉里製同人ゲーでその手のブルースクリーン出たとか聞いたことあるぞ。 同人系かネトヲチ板だが。
>>961 のために付け加えて言えば
吉里吉里は仕様上、サードパーティがC++等で独自拡張のDLLを作成できるようになっている。
で、それらDLLの安全性は(公式のリポジトリにマージされたものを除いて)吉里吉里の管轄外。
何故なら各ゲーム開発者が各自で作って各自の責任で配布してるわけで。
もし吉里吉里本体にその種の致命的な脆弱性があるならば、
ユーザ数からもオープンソースということからも、とっくに発見・周知されているはず。
「BlueScreenView」を使ってみたところdumpfileってのが324ぐらいあって
ピンク色になってたntoskrnl.exeとwin32k.sysが怪しいみたいです。
システムに関係してそうで怖くて手つけられそうにないです。
>>973 吉里吉里がおかしいというより吉里吉里の何かに反応してるんじゃないかなと思うんです。
ゲーム以外は全然普通にPC動くので。
>>974 win32k.sys ブルースクリーンでぐぐれ。たぶんそれだ
>>975 ありがとうございます。
まだ完全に直ったかは分からないですけど↓が原因かもです。
「KB954211」の更新プログラムがあったので。
2008年10月15日のMicrosoft Updateで入ったセキュリティ更新プログラムを導入すると一部のPCでブルースクリーンが多発する現象がありました。確認できたのはWindows XPSP2の入ったPCだけです。業務上OSとSPを統一しているためその他の環境では確認できていません。
マイクロソフト セキュリティ情報 MS08-061 - 重要 : Windows カーネルの脆弱性により、特権が昇格される (954211)
これが導入されると、STOP: 0x000008E Win32k.sysが発生することがあります。VGAドライバとの相性が悪いようでデュアルディスプレイを接続・解除時や、スタンバイ時などディスプレイの状態を変更しようとした時に起こるようです。
対処方法は、
スタート - コントロールパネル(S) - プログラムの追加と削除
■更新プログラムの表示(D) ←チェックを入れる
「KB954211」を探し「削除」
Windowsの再起動。
XPのサポートが切れて更新プログラムDLできなくなったらXPは実質動かないという事になるのか?
動くけどウイルスの巣になる
WebMというロイヤリティーフリーの動画フォーマットが出たみたいだけど、これ吉里吉里で簡単に扱えるようにしたら便利じゃないかな?
現状 Theora よりはいいかもだけど wmv と比較してメリットないよねってかんじ > WebM
まあこのスレにいる人間は「便利だと思うのでどうかお願いしますだ」の立場だと思うけど、 同じaviファイルなのにコーデックが無数にあって再生できることもあればできないこともある…… みたいな問題は少ないらしいし魅力はあるな
コーデックDLする時たまにウィルスっぽいのひっかけるときあるしな('A`)ちゃんと探さないと・・・
すっごく初歩的な質問だと思うが、googleや過去ログを何時間探し回っても見つからなくて困ってる。 誰か知ってる人がいたら教えてくれ。 [cm] [image storage="700×525.jpg" layer=base page=fore] [wait time=200] [backlay] [layopt layer=message0 page=back visible=false] [trans time=1000 method=crossfade] [wt] [image storage="700×525.jpg" layer=base page=back] [trans time=1000 method=crossfade] [wt] 表の全レイヤを裏にコピーしたいんだが、トランジション元(640×480)とトランジション先(700×525)のサイズが一致しないというエラーが出て止まる。 640×480はどっからきてるの? 始めたばかりのひよこで申し訳ない。
>>983 画面サイズを640*480にしてるんじゃないか?
baseは画面サイズに合わせないといけなかった気がする
>>984 ありがとう
イラストばかりに気をとられてて画面サイズにまで頭が回ってなかった
質問です オートでの待ち時間を一時的になくしたいんですが actualChSpeedみたいな実際のスピードをいじる部分がなくて詰まっています showPageBreak(elm)の数値をいじってみても 次のページで反映されるらしく反映されたいタイミングとズレてしまいます 何かいい方法はありますでしょうか?
cancelautomodeじゃアカンの?
KAGって意味あるの?
KAGじゃアカンかったか? じゃあkag.autoMode = falseで
990 :
986 :2010/05/21(金) 18:38:12 ID:LF65pd4k
レスありがとうございます しかしオート中に一時的にやりたいだけで オートモード中断はできればしたくないんです autoModePageWaitをいじると環境設定にまで反映されてしまい どうもうまくいきません
オートを続行しつつ オートに影響されない動作をさせたいって事か? 具体的にどうしたいのか汲み取れない すまない(´・ω・`)
>986 オートモード中は待たないクリック待ちマクロを作って、 [l]や[p]の代わりにばらまけばいいんじゃないかな
>>990 「MainWindow.tjs」showLineBreak()とshowPageBreak()の先頭に
ローカル変数で、autoModeLineWaitとautoModePageWaitを用意。
通常は、autoModePageWait = this.autoModePageWaitで
待ちたくないときは、autoModePageWait= 400(0はやめたほうが無難なので、取り合えずConfig.tjsでの最低値)
(自分の場合は字数カウントを加味するのに、ここに修正を入れた)
一時的に動作を消すって事は オートモードを一時的に止めるって事じゃないのか・・・?
もしかして、「一時的」「タイミングとズレ」(単に修正ミスかと思っていたが)って、 既に、showPageBreak()からのウェイトに入った状態をクリックとかで キャンセルしたいってことかしらん??? だと、waitTimeタグあたりを参考に、コンダクターに解除用のトリガーを指定して登録、 そのトリガーで、解除する形に修正って感じだけど……
次スレ立てるぞコラ テンプレは成恵同盟削るぐらいでいいな?
うにゅ、リンク確認してきた。ヨロシクです。 「成恵同盟」先月あたりに、繋がらないとは思っていたけど、閉鎖? 『萌えるKAG講座』初心者の頃、お世話になりました。ありがとうございましたm(_ _)m
うめればいいじゃない
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。