■吉里吉里/KAG/TJS雑談質問スレ■その16at GAMEDEV
■吉里吉里/KAG/TJS雑談質問スレ■その16 - 暇つぶし2ch838:名前は開発中のものです。
09/02/04 21:42:50 +oclQ9a8
自分も文字列の画面センター表示でつまずいていたので、
>>637さんのテキスト表示法が目からウロコでした。ありがとうございます。


便乗質問になってしまい大変恐縮なのですが、

@macro name="c"
@locate x="&(kag.current.width - kag.current.lineLayer.font.getTextWidth(mp.text)) \ 2 - kag.current.marginL"
@emb exp=mp.text
@endmacro

[c text="一行目"][r]
[c text="二行目二行目"][p]

上のお教えいただいたマクロに手を入れて、
シナリオでたとえば

[c]
一行目[r]
二行目二行目[p]

と記述できるようにする方法は、ありますでしょうか?

839:名前は開発中のものです。
09/02/04 23:04:38 HneHOY8v
>>838
このレス(&板)では努力の跡のみられない、ろこつな『教えて君』は、嫌われる傾向にあります。
まずは自分の努力を見せましょう。

実際聞いてコピペするだけじゃ、理解できずにスキルアップできないと思うよ。

840:名前は開発中のものです。
09/02/04 23:32:56 BNGX6pSe
>>838
やり方としては
改行・改ページの度に
シナリオファイルの次行冒頭から改行・改ページタグまでの文字を検索し
文字幅を求め、開始位置を設定、かな
やってみれば。
俺は中央寄せを延々続けることなどないし
手間がワリにあわんのでやる気なし

841:名前は開発中のものです。
09/02/04 23:53:39 rg43HjuA
>>679
横からですが、使わせてもらいますm(_ _)m
サブルーチン無しでokなんですね

842:名前は開発中のものです。
09/02/05 00:52:03 5wG9mFf0
> このレスでは

謙虚だな…

843:名前は開発中のものです。
09/02/05 00:55:41 bwFNO7xD
「○○を○○したけど無理でした。助けてくださいお願いします」がテンプレ?


844:名前は開発中のものです。
09/02/05 01:03:39 5wG9mFf0
> 助けてくださいお願いします

べつにそんな低姿勢を強要する必要はないだろ
質問者だって対等な立場だ

845:名前は開発中のものです。
09/02/05 01:07:56 24VSaAmF
「いろいろしたけど無理でした。教えてください」がテンプレ

846:名前は開発中のものです。
09/02/05 01:08:40 3vbCZbNa
別に低姿勢になれとは言わんが
努力もしない奴に教えたくないのが一つと、本人が分かってないことをコピペでごちゃごちゃにしたソースをそのまま貼ったりされると何を聞いてるのかさっぱり分からないのが一つ

別に出し惜しみする気は無いけど、おいおい・・・・一個上のレスみりゃ分かるだろ・・・・
みたいなものやリファレンス見ろよみたいなものはスルーしちゃう
あと、立場は対等でも教えてもらう立場なんだから聞く時は「お願いします」と解決したら「ありがとう」ぐらいは言って欲しいのが本音
ネットでこんなこと言うと変なのに煽られそうだけど互いにすがすがしいと思うんだけどね

847:名前は開発中のものです。
09/02/05 01:45:07 5wG9mFf0
そうやって自分に異論を言う者=変な者みたいなのはどうかと思うけど、
まあそれはともかく、別に教育者でもないしサポート屋でもないのだから
努力の大切さを説いて諭す必要もないし、答えたくないときは
やっぱり言ってるようにスルーするのが一番だと思うのだよね
その点同意

848:名前は開発中のものです。
09/02/05 01:52:46 iTm5bgfL
ネットやらなにやらに不慣れな人や子供だってたくさんいるだろうから、
近所の人、同じ場所を使う人ってことで諭すようなことを言うのもいいと思うけどね。

口やかましくない程度にしてくれないと困るけど。ここ最近は連呼しすぎだな。

849:名前は開発中のものです。
09/02/05 02:02:12 bwFNO7xD
初心者なりに努力したのに質問の書き方が悪かったせいで厳しいレスがきて
カエレ!って言われたように感じてしまったら可哀想だから
「こういう書き方だとレスが返りやすい」ってのがあればいいんじゃないかと思った
助けて~とかは適当
あくまで「望ましい」という範囲の話で、もちろん「だが断る」も自由


850:名前は開発中のものです。
09/02/05 02:06:19 5wG9mFf0
あー>>848の言う通りだと俺も思う

851:名前は開発中のものです。
09/02/05 09:28:31 DYY82VXn
1から10まで質問攻めみたいのはどうかと思うけど、この手の技術系スレや
掲示板(公式なんかの)だと
高圧的回答⇒質問者萎縮⇒過疎ってのは多いわな。
掲示板だと、掲示板運営者より口うるさい常連とか良くいるし。

その位調べないと成長しないって回答も良くでるけど、あれも意味がわからん。
特にゲーム作成ツールとか、それに順ずる開発言語とかなんて、成長する意味すら
危ういじゃね


852:名前は開発中のものです。
09/02/05 09:37:13 +h0QVxs/
まあ要は、質問は程々に、何がしたいかと自分が何をしたかくらいはちゃんと言いましょうって事で

853:名前は開発中のものです。
09/02/05 10:35:24 BKDb+w9q
まあ黎明期や不人気のツールの技法とかゲームの攻略スレは優しく
円熟期や人気のものは厳しくなるのは自然なことだわな

後者の場合ネットに情報集積されてたり本が出てたりすることも多いから
自分で調べろとも言いやすいし

854:名前は開発中のものです。
09/02/05 11:22:04 OmadP5Km
>>838
マクロだとさすがに無理。要改造。

方法論としては、>>840は概念的にはいいんだけど、KAGの処理的の流れ的には
無理がある。以下は意味がわかる人むけ

・コンダクタにセンタリングフラグと蓄積用文字列を追加+cコマンドの中身を変更
・ch タグの実装を別コマンド、たとえば ch2 とかに置き換える
・ch を再実装。センタリングフラグが立ってたら文字列として蓄積、立ってなければch2 を呼び出し
・r タグ部分で、センタリングフラグが立ってたら蓄積された文字列から長さを計算して locate 補正+
 蓄積された文字列を split して ch2 の連続呼び出しに置換して挿入する処理を追加

これで普通のテキストのように連続表示させることができる。

855:名前は開発中のものです。
09/02/05 13:52:03 l/Rkt8/k
テンプレぽく、多分こういう書き方だと返答されやすい。
てか>>1に思いっきり書いてあるんだけどね。
>>1すら読んでないのはただの教えてくんと思われて当然だろ

【スレ質問用】
吉里吉里で○○したい。
○○のために自分で検索やら組んでみた結果△△になった。(←努力の跡見せるのは大事)
ここから○○にするために、何かしらヒントあればお願いします。

856:名前は開発中のものです。
09/02/05 14:26:54 JThzoFsS
なんでマクロってiscript~endscript使えないん?あれ、すごく困るんだが

857:名前は開発中のものです。
09/02/05 15:07:21 i4pI5sHq
パーサの処理の都合だろうな。動的展開するマクロバッファに iscript の処理を記録する概念が無いのだと思われる

一般的には、マクロ定義の外で iscript つかって function を定義して、
マクロ中ではそのファンクションを eval で呼べば困ることなどないとだろう。

858:名前は開発中のものです。
09/02/05 15:22:56 2ylsyTml
>>854
意味がわかる人=その説明を必要ない人
な気がするのは気のせいか ←ただの感想、批判してるわけじゃないからね

そこら辺のプラグインがあまり(タロー氏のは学ばせて貰ったけど)出てこないのは、
縦書き、ルビ、自動改行、インライン画像等々、汎用性をもたせようとすると
手間対効果が割りに合わないからかな?

限定用途にルビと文字の均等割付け、組んでてふと思った。


859:名前は開発中のものです。
09/02/05 21:11:08 rGQ3Q+fl
文字の前進幅とか文字(列)のマトリクスが取得できないTJSでどうやってセンタリングとか実装するのが問題だな。
プロポーショナルフォント使われるとメチャクチャになる。

860:名前は開発中のものです。
09/02/05 21:38:46 5wG9mFf0
あー俺もそういうの昔作ってスタンドアロンではほぼ完成してたんだけど
プラグイン化についてあれこれ考えているうちにHDDあぼーんしちゃった

861:名前は開発中のものです。
09/02/05 22:03:15 OqvyWUl7
どう設計してもコンダクタとMainWindowとタグハンドラに食い込むからプラグイン化は難しいな。
俺はタグハンドラそのものをプラグインで追加できるようにいじってあるから出来んこともないが。

862:名前は開発中のものです。
09/02/05 22:10:05 xz7gD4YF
MainWindowというよりは、KAGをごっそり作り直したい
KAGEXみたいにカオスにしたかないし

863:名前は開発中のものです。
09/02/05 22:11:32 kGZHQv0T
>>862
よし今すぐ作り直すんだ!

864:名前は開発中のものです。
09/02/05 22:24:15 OqvyWUl7
>KAGをごっそり作り直したい
コア部分でかつ一番カオスってんのがMainWindow.tjsなんだよな。
あとはKagParserも。
こいつを捨てたくて車輪の再開発中です。
他は使い回せそうなんだよ。
今のところシナリオファイルはxmlにしてWYSIWYGで吐いて直接触らせないようにして拡張する場合は完全にtjsを書くようになってる。

865:名前は開発中のものです。
09/02/05 22:45:30 5wG9mFf0
いいものができたらぜひ汎用にして公開を

866:名前は開発中のものです。
09/02/05 22:49:37 xz7gD4YF
>今のところシナリオファイルはxmlにしてWYSIWYGで吐いて直接触らせないようにして拡張する場合は完全にtjsを書くようになってる。
xmlではないが近いことやってるな、うちも
ButtonLayerとMessageLayerがらみも拡張しずらいので、やっぱりごっそり作り直したい
使い回すとしたら、KAGParserとconductor回りぐらいかな
できあがる頃には、吉里吉里2.40とか言ってすげー拡張されてたりしてなorz

867:名前は開発中のものです。
09/02/05 23:12:01 /vuBrDAa
普通に汎用言語とDSLが扱えるマならKAGのソースを解析してる最中に絶対再開発したくなると思うぞw

868:名前は開発中のものです。
09/02/05 23:12:41 5wG9mFf0
今日ちょうど組版の本を買ってきたところだし
久々にちょっと何か考えてみようかなあ

869:名前は開発中のものです。
09/02/05 23:27:39 445Bzurr
すいません、音量について質問させてください。

例えば、なのですが、WaveSoundBufferクラスのvolume2の値を10000(/100000)にすると、
winampやメディアプレイヤーで音量を10/100に絞った時より明らかに小さくなります。
(というか、同環境だと吉里吉里の方では音が聞こえません)

これって、私のWaveSoundBufferクラスの使い方が間違っているのでしょうか?

870:名前は開発中のものです。
09/02/06 09:09:11 z//DkSd1
うーんと。。音の強さの指定でデシベルというのがあって WaveSoundBuffer の中の人
DirectSound はデシベルを使っている。普通の人の音感とデシベルはかなり異なるので
ユーザーがデシベルを指定することはあまりなく、変換式を通す事が多い。

DirectSound は統一された変換方法を提供していないので
そのあたりはプログラマ任せです。それに
インタフェースというか音を出す仕組みはいろいろあるので
アプリケーションによって音量の感覚は変わりうるのが現状かと。
つまりwinampやメディアプレイヤーと同じにならなくても不思議ではないのではないかと
思うんだけども。

871:名前は開発中のものです。
09/02/06 12:30:19 Qa/Wbh6x
Los dos pescadosさんのKAGプラグイン、
カスタムメニュー、リストウィンドウ、ツリーウインドウのサンプルが
ことごとくエラー吐いて動作しないんですけど、
いまのバージョンにプラグイン自体が対応してないってことでしょうか?

872:名前は開発中のものです。
09/02/06 12:41:01 zSjpJSnx
作者に聞け

873:名前は開発中のものです。
09/02/06 13:28:03 2abAJ3Ia
ついでに昔のバージョンで動くかどうかも試せ

874:名前は開発中のものです。
09/02/06 14:22:49 dEWl7lYt
あとパンツ脱げ

875:名前は開発中のものです。
09/02/06 14:35:44 6GQ3Vh+e
gazo[0]~gazo[9]というような配列で、それぞれnew Layerして画像を読み込ませ
一度に全部をランダムな位置に表示するとします。
このそれぞれが、マウスを乗せるとどの画像がどの配列のオブジェクトか判断できるようにしたいのですが
「これはgazo[5]です」というのが一発で分かるような、関数とかプロパティとかそういうのは無いでしょうか?

876:名前は開発中のものです。
09/02/06 17:28:30 4e5erys7
>一発で分かるような
ない。

877:名前は開発中のものです。
09/02/06 17:39:21 jeWMNTFf
作るとしたらこんなんになるの?

Layer.hoge = function() {
return "これはgazo[" + gazo.find(this) + "]です";
};

878:名前は開発中のものです。
09/02/06 18:07:28 6GQ3Vh+e
自分でいくらか拡張したLayerオブジェクトで、
hoge[*]の中にそれぞれaaaとかbbbとか持たせているので
onMouseEnterの処理を書こうにも、まずEnterしたのがhogeの何番なのかが分からないといけないという訳でして
マウスの座標とhogeの座標を取れば出来ない事はないのですが、もっと楽できる方法があれば・・・と

879:名前は開発中のものです。
09/02/06 18:43:55 oxMtkdrq
>>875
nameにindexを突っ込んでおけばいいんじゃね?
gazo[i] = new Layer(window, this);
gazo[i].name = i;
--
funciton onMouseDown(x, y, button, shift) {
 var index = +name;  // gazo配列のindex
}

880:名前は開発中のものです。
09/02/06 21:16:34 6GQ3Vh+e
nameなんてのがあったのは気づきませんでした
それでやってみます、ありがとうございます


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch