ウディタ初心者質問スレWOLF RPGエディタ-at GAMEDEV
ウディタ初心者質問スレWOLF RPGエディタ- - 暇つぶし2ch855:名前は開発中のものです。
11/11/18 18:56:38.07 DP/3APw2
>>854
お陰で選択肢ウィンドウ画像を読み込んでいるコモンを
変数でいじればできそうだと気づいたんですが
同じような処理なのに選択肢ウィンドウは別なんですね
検索をかけたりしたのに見当たらないんですが、どこら辺にありますか?

856:名前は開発中のものです。
11/11/18 19:15:56.45 3euXFZeo
>>855
デフォルトの選択肢ウィンドウはシステムデータベース10(ウィンドウ画像)の1番に登録された画像を自動的に表示するようになっていて、コモンイベントじゃないんだ。
だけどSys14[選択肢ウィンドウ表示する?(1=ON)]を0にしてやれば選択肢ウィンドウを消すことができるし、
その上でメッセージウィンドウコモンと同じように並列で選択肢ウィンドウを表示するコモンを作ればゲーム中に選択肢ウィンドウを変えることができる。

本当に出来るかどうか試してみたからコマンド文貼っとく

■変数操作: Sys14:選択肢ウィンドウ表示する?(1=ON) = 0 + 0
■条件分岐(変数): 【1】Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)が-1と同じ
-◇分岐: 【1】 [ Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)が-1と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: CSelf10[選択肢改行間隔] = 9 + 0
■変数操作: CSelf0 = 9900040 + 0
■文字列操作:CSelf5[選択肢内容] = ""
■回数付きループ [ 10 ]回
|■文字列操作:CSelf6 = 位置[CSelf0]の文字列
|■条件分岐(文字): 【1】このコモンEvセルフ変数6 が"" 以外
|-◇分岐: 【1】 [ このコモンEvセルフ変数6 が"" 以外 ]の場合↓
||■文字列操作:CSelf5[選択肢内容] += "\n\cself[6]"
||■
|◇分岐終了◇
|■変数操作: CSelf0 += 1 + 0
|■
◇ループここまで◇◇

857:名前は開発中のものです。
11/11/18 19:16:17.16 3euXFZeo
■文字列操作:CSelf6 =<上1行切出> CSelf5[選択肢内容]
■ピクチャ[ディレイ内容リセット]:99000
■ピクチャ表示:99000 [左上]文字列[\space[\cself[10]] X:0 Y:0 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■変数操作+: CSelf11[ウィンドウ幅] = ピクチャ:99000 の 画像サイズ(横)
■変数操作+: CSelf12[ウィンドウ高さ] = ピクチャ:99000 の 画像サイズ(縦)
■変数操作: CSelf11[ウィンドウ幅]~CSelf12[ウィンドウ高さ] += Sys8:基本フォントサイズ + 0
■変数操作: CSelf13[ウィンドウ表示X座標] = CSelf11[ウィンドウ幅] / -2
■変数操作: CSelf13[ウィンドウ表示X座標] += Sys3:選択肢ウィンドウ X座標 - 4
■ピクチャ表示:99000 [左上]ウィンドウ「SystemGraphic/WindowBase.png」サイズ[CSelf11[ウィンドウ幅],CSelf12[ウィンドウ高さ]] X:CSelf13[ウィンドウ表示X座標] Y:Sys4:選択肢ウィンドウ Y座標 / 0(0)フレーム / パターン 1 / 透 0 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ移動:99000 相対X:0 Y:0 / 10(0)フレーム / パターン 同値 / 透 255 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
■ループ開始
|■ウェイト:1 フレーム
|■条件分岐(変数): 【1】Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)が-1と同じ
|-◇分岐: 【1】 [ Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1)が-1と同じ ]の場合↓
||■ピクチャ移動:99000 相対X:0 Y:0 / 10(0)フレーム / パターン 同値 / 透 0 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■ピクチャ消去:99000 / 0(10)フレーム
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇ループここまで◇◇

858:名前は開発中のものです。
11/11/18 19:21:10.13 DP/3APw2
>>856->>857
おおう・・・わざわざここまで
心からありがとうございます。

859:名前は開発中のものです。
11/11/18 22:03:09.68 bWCfzpkQ
基本システムのコモンで結構使ってる、回数付きループ[1]回
ってどんな意味があるんでしょうか

860:名前は開発中のものです。
11/11/18 22:25:27.03 3euXFZeo
ラベルジャンプの代わりじゃないかな。一々文字列解析しなきゃいけないラベルよりも、ループ中断の方が早いだろうし

861:名前は開発中のものです。
11/11/18 22:58:11.88 wjWkHpEv
>>856
質問者じゃないけど勉強になった

862:名前は開発中のものです。
11/11/18 22:59:23.11 bWCfzpkQ
>>860
なるほど、面白い使い方ですね
ありがとうございます

863:名前は開発中のものです。
11/11/18 23:19:22.64 zARpGkh6
各データベースのうち、セーブデータに記録されるのって可変DBだけ?

クエストフラグみたいな、「セーブデータへ記録しておく必要がある変数」は
cdbを使えばいいのかな?

864:名前は開発中のものです。
11/11/19 00:56:31.89 ExaIT3UI
>>851
ありがとうございます
理解が足りなくてコモンEvをじっと見たりしていたのですが
書きこむ直前にセーブデータ番号を通常変数で記憶しておき、データ99に書き込んだ後に
セーブデータ番号を戻す事でちゃんとロードした所にカーソルが戻りました
と書き込んだ所で別に通常変数じゃなくてセルフ変数で良い事に気付いた・・・


別件
上記の問題でウディタ2、コモンイベントNo131のセーブ欄実行コモンを見てたら
■セーブデータに書き込み:セーブデータ[CSelf5]のV0[]=CSelf12[対象データ番号]
という箇所があったんですけど、
V0は既にイベント処理用に使っていて、ゲーム中ころころ変わります。
セーブ欄実行コモンでV0をどういう風に使っているのかよく解らないのですが
V0には変数は入れないほうが良いんでしょうか?

865:名前は開発中のものです。
11/11/19 09:40:59.68 2c2M9hKt
その直前に↓がある
■文字列操作:CSelf5 = "Save/System.sav"

紛らわしいけど、要はゲーム本編とは無関係なシステムデータのV0に代入してるんで気にしないでおk


866:名前は開発中のものです。
11/11/19 11:41:58.13 kHib59DL
上で上がってた巡りまわるのフキダシってどうやるんだろう

噴出しコモン使用
ページ1 プレイヤーの接近
接近すると変数を+1加算

ページ2 並列実行 変数が1の場合
文章こんにちは!\^
ウェイト30
変数-1

でやったらそれっぽい動作はしたものの
主人公が一々止まってしまって駄目だった

867:名前は開発中のものです。
11/11/19 11:46:14.96 fPxFdt1s
そりゃ文章じゃ駄目だな。並列イベントとピクチャ使ってるんだろ

868:名前は開発中のものです。
11/11/19 14:34:01.62 ExaIT3UI
>>865
なるほど、自分で2周目用の格納データを作っているみたいに
システム用のデータが作られてそこに書きこまれてる感じですかね
ありがとうございました

869:名前は開発中のものです。
11/11/19 16:43:01.49 DZSItztg
>>856-857
をやってみたのですが、出てきたウィンドウが選択肢の文字数をどう変えても
一定の大きさのまま変わらず、とても小さく表示されました
使っているのはV2.01です
どうやら
■ピクチャ表示:99000 [左上]ウィンドウ「SystemGraphic/WindowBase.png」サイズ[CSelf11[ウィンドウ幅],CSelf12[ウィンドウ高さ]] X:CSelf13[ウィンドウ表示X座標] Y:Sys4:選択肢ウィンドウ Y座標 / 0(0)フレーム / パターン 1 / 透 0 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
のサイズが変数だとうまくいかないようでした

単純に2つの変数とこのコマンドだけのコモンを組んでみたのですが結果は同じで
直接サイズを数字で指定したら変わるのに、
変数だと変数の中の数字によらず一定のサイズにしかなりません
表示タイプは[4]お手軽ウィンドウ、開くファイルも同梱されているWindowBase.pngで
857にあるとおり何もアレンジせずにやりました
何かケアレスミスをしてると思うのですが、どこを間違っているのでしょうか

870:名前は開発中のものです。
11/11/19 17:11:13.49 TlD+DZq8
>>869
後で気づいたけどこの一行
■ピクチャ表示:99000 [左上]文字列[\space[\cself[10]] X:0 Y:0 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
ピクチャ表示だとコマンド文で文字列が途中で消えるの忘れてた。
本来ここは
\space[\cself[10]]\cself[5]
だったんだが一番肝心な部分が抜けていたようだ。多分原因はそれ

871:名前は開発中のものです。
11/11/19 18:02:58.26 DZSItztg
>>870
自分で違うコマンドを組んでウィンドウを作ることができましたが
>>856-857がなければとても無理でした
ありがとうございました

872:名前は開発中のものです。
11/11/19 19:01:47.69 G12P7cws
>>867
基本システム使わず作ってみた、たぶん爆笑もの。ピクチャ表示は長すぎて手を加えてある

吹き出しコモン
■変数操作+: CSelf0 = このマップイベント の 画面X座標
■変数操作+: CSelf1 = このマップイベント の 画面Y座標
■変数操作: CSelf1 += -40 + 0
■文字列操作:CSelf8 = CSelf5
■DB読込(ユーザ): CSelf6 = ユーザDB[画像/音声設定:画像/音声基本設定:ウィンドウ画像ファイル]
■ループ開始
|■条件分岐(文字): 【1】このコモンEvセルフ変数5 が"" と同じ
|-◇分岐: 【1】 [ このコモンEvセルフ変数5 が"" と同じ ]の場合↓
||■ループ中断
||■
|◇分岐終了◇
|■文字列操作:CSelf7 =<1文字切出> CSelf5
|■変数操作: CSelf2 += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf2 *= 14+ 0
■ピクチャ表示:999 [中心]ウィンドウ(CSelf6) サイズ[CSelf2,16] X:CSelf0 Y:CSelf1/5(0)フレーム/(スクロールとリンク)
■ピクチャ表示:1000 [中心]文字列[\cself[8]] X:CSelf0 Y:CSelf1 / 5(0)フレーム /(スクロールとリンク)
■ウェイト:60 フレーム
■ピクチャ消去:999 / 5(0)フレーム
■ピクチャ消去:1000 / 5(0)フレーム
■変数操作: CSelf2 = 0 + 0

マップevでCself5にセリフを渡して、プレイヤー接触と並列実行で処理
Cself2に文字数を格納して適当な値で掛けてるんだが、文字によって幅が違うから当然誤差が出る
基本システムが参考になるだろうけど解読不能
本家の「エリア内にいる間は1度しか表示しない」も分からん

873:名前は開発中のものです。
11/11/19 20:15:03.03 Vcwm54GX
>>872
基本システムの手法だけど、先に文字列ピクチャ表示してからそのサイズを取得すると窓のサイズが綺麗に求められる

874:名前は開発中のものです。
11/11/19 21:07:45.25 G12P7cws
>>873
あっそうか・・・一度画像にしちゃえばサイズ測れるんだ
改良できたありがとう

あとは「エリア内にいる間は一度しか表示しない」
マップevの座標を元に座標範囲作って
主人公座標と照らし合わせて条件つければ難しくなさそうだけど、
何か美しくないなあ。ほぼ同じ挙動するなら構わないけどね

まあこれ使う予定ないけどw勉強になったよありがとう

875:名前は開発中のものです。
11/11/20 07:59:13.77 iM5I/bbe
質問です。マップイベントで選択肢を表示するとき、
直前に表示した会話窓が残ったまま選択肢窓が表示される場合と、
会話窓が消えて選択肢窓のみが表示される場合があるんですが、
それぞれが起こる条件はなんですか?

876:名前は開発中のものです。
11/11/20 08:39:00.96 F3C8YtRl
文章コマンドの直後に選択肢コマンドを入れると文章表示が残る。消したかったらコメントでも挟んでやればいい

877:名前は開発中のものです。
11/11/20 11:55:43.61 iM5I/bbe
了解です。ありがとう

878:名前は開発中のものです。
11/11/20 14:37:31.00 gpB0HwVJ
初めてゲームを作るんだけどメニューも1から作るのは無謀?
なんか複雑そうで怖いんだけど

879:名前は開発中のものです。
11/11/20 14:47:48.53 X6YTLbNM
基本システムのコモンやらDBやら覗いてみて理解できそうなら一から作ればいいし
理解できなかったら理解できるまで勉強してからやりたいことやる方法みつけて一から作ればいいと思う

880:名前は開発中のものです。
11/11/20 15:10:25.65 KMus6Dgm
>>878
変数、条件分岐、ループ
これら基礎を抑えておけば大抵のことは自作できるよ(メニュー画面も然り)
勉強するならまずこいつらの解説を見るべし

881:名前は開発中のものです。
11/11/20 15:24:27.41 gpB0HwVJ
ありがとう
がんばってみる


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