2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :名前は開発中のものです。:2014/02/04(火) 17:45:20.15 ID:zUepSYWa.net
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!

吉里吉里スレ過去ログ倉庫
ttp://bbs.bokunatu.com/krkr/
吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/

吉里吉里ダウンロードページ
ttp://kikyou.info/tvp/
ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は
初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。
■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。
大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。
■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる
数々のTipsが記載されています。
■TJSをもっと使うために
ゲームのインターフェイスをカスタマイズしたい、また
KAGの命令に無いことをしたくなったらまずここを読んでみよう。

必要に応じて>>3-5の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その27
http://toro.2ch.net/test/read.cgi/gamedev/1358185635/

711 :名前は開発中のものです。:2015/02/24(火) 19:16:24.31 ID:AT/S8cyS.net
layerExDrawプラグインとか使ってるんじゃね

712 :名前は開発中のものです。:2015/02/24(火) 19:45:37.52 ID:5BUUL94O.net
1.グラデーションしたい2色の点からなるレイヤをつくる
2. 透明なレイヤに文字列を描画
3. 2. と同じサイズのレイヤを作って、それに1.をstFastLinear でstretchCopy してグラデーション画像をつくる
4. 2. のfaceをdfOpaque holdAlpha をtrue にして、3.をcopyRect してグラデーション画像をかぶせる
5. 4.を描画先に operateRect で合成

こんなもんかな。直接stretchRect できるといいんだけと、対象の face がdfOpaque だと補間が無効でグラデにならないので中間の作業レイヤが必要

713 :名前は開発中のものです。:2015/02/24(火) 21:05:29.09 ID:gWj8BsJF.net
>>712
解説ありがとう!
TJSに挑戦さんあるし、部分部分はなんとなくわかるしできそうな気もするんだけど
線形補間でグラデーション画像を作る辺りが良くわからない
こういうのって何処で勉強すればいいんだろ
でもこういう流れで出来ない事はないのがわかったから頑張ってみるよ

714 :名前は開発中のものです。:2015/02/24(火) 21:24:43.89 ID:qkuybHk5.net
ていうかグラデーション画像は事前にPhotoShopかなんかで作って読み込むだけでもいいな

715 :名前は開発中のものです。:2015/02/24(火) 21:53:25.25 ID:6ptPBTw2.net
Layer.drawTextGrad = function(x, y, text, colors, opa, aa) {
var seed = new global.Layer(window, this); // グラデの種
var grad = new global.Layer(window, this); // グラデ―ション
var work = new global.Layer(window, this); // テキスト描画先
with (work.font) { .face=font.face; .angle=font.angle; .bold=font.bold; .italic=font.italic; .strikeout=font.strikeout; .underline=font.underline; };
work.setSize(work.font.getTextWidth(text), work.font.getTextHeight(text));
work.drawText(0,0,text,0xffffff,255,aa); // テキスト表示
seed.setSize(1,colors.count);// 1×3 サイズ
seed.fillRect(0,0,seed.width,seed.height,0xffffffff); // αをうめておく・operateRect を使う場合は必要
for(var i=0;i<colors.count;i++) seed.setMainPixel(0,i,colors[i]); // グラデの種を作る
grad.setSize(work.width,work.height); // テキスト用のレイヤと同じサイズにする
grad.stretchCopy(0,0,grad.width,grad.height,seed,0,0,seed.width,seed.height,stLinear); // 引き延ばしで補間されてグラデーションになる
work.operateRect(0,0,grad,0,0,grad.width,grad.height,omPsMultiplicative,255);// 文字が白なので乗算で染まる
this.operateRect(x, y, work, 0, 0, work.width, work.height, omPsNormal, opa); // レイヤに描画
};

var lay = new Layer(kag, kag.primaryLayer);
lay.visible = true;
lay.setSize(200,20);
lay.font.height=20;
lay.drawTextGrad(0,0,"てすと", [0xffffff,0xffff00,0xff0000], 255, true); // 白黄赤のグラデ

716 :名前は開発中のものです。:2015/02/24(火) 22:02:49.37 ID:6ptPBTw2.net
ぐは、修正まえのこぴぺった

height 指定漏れ

with (work.font){ .height=font.height ... }

あと最後の operateRect のとこは omPsNormal でなくて omAuto でOK

717 :名前は開発中のものです。:2015/02/24(火) 22:07:26.44 ID:6ptPBTw2.net
あ、関数ぬける前に invalidate seed;invalidate grad;invalidate work; もしておくべきだな。
多用するならwindow にテンポラリレイヤつくってそれを参照するほうが良い

718 :名前は開発中のものです。:2015/02/25(水) 00:17:35.23 ID:ofhrZAHj.net
>>715
なんと、詳細作っていただいてありがとうございます!
なるほどこんな感じに作るんですね…
>for(var i=0;i<colors.count;i++) seed.setMainPixel(0,i,colors[i]); // グラデの種を作る
この辺なんかさっぱりでした…

多用して使いたいので、書いていただいたものを参考に作ってみます
ありがとうございました!

719 :名前は開発中のものです。:2015/02/28(土) 01:05:50.99 ID:jgEVa9oL.net
ルビの有無やら縦書き横書きを考え出すと、奥が深そうな話題だな……

720 :名前は開発中のものです。:2015/02/28(土) 03:32:32.91 ID:+HF1cTG6.net
文字描画部分をlayerExDrawに置き換えるだけよ

総レス数 1003
305 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★