[過去ログ] WOLF RPGエディター 質問スレ 其の10 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
953: 名前は開発中のものです。 [sage] 2017/05/29(月) 21:51:42.24 ID:MFrQeG/u(1/4) AAS
チップの位置に関する質問です。
イベントチップの高さが微妙で、テーブルの良い位置にうまく物が乗らない時に
「キャラクターの動作指定」コマンドの右方にある「[入力値]に高さ変更」を使用して
チップの位置調節を行っているのですが、主人公が場所移動をすると元の高さに戻ってしまいます。

じゃあ毎回マップ遷移時にイベントが移動してある状態にしようと
イベントのルートをカスタムにして、毎回高さ変更の動作が入るようにしたのですが
これがうまくいかず、マップ遷移時には元の高さのままで、主人公が場所移動しきってから高さ変更を始めるので
主人公が扉から入ってきた瞬間テーブルの上にあるチップが急に移動するような処理になってしまいました。

主人公が移動してもイベントの高さを維持したい・固定したい場合の処理を教えて頂きたいです
(それともこの手の問題はチップ自体を修正して高さ調整したものを新たに作る方が手っ取り早いのでしょうか……?)
954
(1): 名前は開発中のものです。 [sage] 2017/05/29(月) 22:48:11.20 ID:fzkB7QZn(1/2) AAS
マップイベントのオプション項目にある半歩上に設置にチェック入れるんじゃダメなん?
955: 名前は開発中のものです。 [sage] 2017/05/29(月) 22:55:12.60 ID:MFrQeG/u(2/4) AAS
実は私もその方法を思いついたのですがチップを置きたい場所は実際マス位置よりも下で、
上ではなく下に、つまり「高さ:-15」のようにマイナス値で設定しているので、
「半歩下に設置」があれば一番良かったのですが……
(イベント位置をあえて1マス下に下げてから半歩上設置にしてもそれはそれでテーブルと位置がジャストフィットしない)
956: 名前は開発中のものです。 [sage] 2017/05/29(月) 23:16:47.57 ID:MFrQeG/u(3/4) AAS
>>954さん
すみません間違えました、もしあるなら「1/4歩下」くらいですね……非常にビミョーな位置にテーブルがあるので
ガッツリ半歩下にすると多分テーブルから物が浮きます。
(半歩上でも半歩下でも気に食わない位置になってしまうので、高さ調整で数ピクセル分だけ移動させるとベストな位置にいく)
やっぱりチップ自体をペイントでいじって、少し高さを下げたものを作るのがいちばん賢い気がしてきました……

動作指定・場所移動で動かしたイベントって主人公が場所移動するとイベント移動後の位置ではなく
イベントを作った最初の位置へ戻ってしまうんですね。勉強になりました……。
動作指定で動かした位置にそのままイベントを固定できたら一番スマートだったんですが
固定方法が私の頭では思いつかない……!
957
(1): 名前は開発中のものです。 [sage] 2017/05/29(月) 23:29:00.56 ID:fzkB7QZn(2/2) AAS
■トランジション準備  ←ここで画面停止
■場所移動:主人公 ▲マップID1[サンプルマップA] X:15 Y:1 [トランジションなし] ← マップチェンジ
■変数操作: このEvのセルフ変数0 = 9100284 + 0
■変数操作: V[このEvのセルフ変数0] = 6 + 0  ←ここで高さ変更処理が入る
■トランジション実行 ←ここで画面が切り替わる

例えばこんな風にすれば高さの変更処理は見えない。変更したいチップがあるマップではなく、別のマップからそのマップへ移動する時の処理に工夫しないといけないのが面倒だけど

そういう微調整をしたいイベントチップが沢山あるなら、高さ変更処理を一括で変更する処理をコモンイベントで作って移動の度に逐一呼び出すのが良い。
例えば影グラフィック11番〜42番は高さを+1〜+32するって処理なら下みたいな感じ.イベントは100個までしか置かないって仮定で作ったもの.

■変数操作: CSelf10 = 0 + 0
■回数付きループ [ 100 ]回
|■変数操作+: CSelf11 = キャラ[CSelf10] の 影グラフィック番号
|■条件分岐(変数): 【1】CSelf11 が 10以下 【2】CSelf11 が 42以下
|-◇分岐: 【1】 [ CSelf11 が 10以下 ]の場合↓
| |■
|-◇分岐: 【2】 [ CSelf11 が 42以下 ]の場合↓
| |▼ 10超かつ42以下の分岐
| |■変数操作: CSelf12 = 9100000 + 4
| |■変数操作: CSelf12 += CSelf10 * 10
| |■変数操作: V[CSelf12] = CSelf11 - 10
| |■
|◇分岐終了◇
|■変数操作: CSelf10 += 1 + 0
|■
◇ループここまで◇◇
958: 名前は開発中のものです。 [sage] 2017/05/29(月) 23:41:36.97 ID:MFrQeG/u(4/4) AAS
>>957
ああああああああああああ!!なるほど!!
トランジションしている内で高さの変更処理を行ってしまえば
高さの変更処理が見えなくなるから自然に移動したように見えますね……!
完全に盲点でした、ありがとうございます!ドアの処理に一斉チップ高さ変更コモンを作って仕込んでみます。
本当にありがとうございました!!
959: 名前は開発中のものです。 [] 2017/05/30(火) 19:34:50.02 ID:bjUL4VHz(1/2) AAS
文字数を取得して、数だけ音を鳴らすコモンを使用しているのですが、
これを改造して特殊文字(\.)は文字数としてカウントせず、その代わりにウェイトを適用させたいです。
どのような処理をすればいいのかどうか教授ください。

現在使用している一文字ごとに音が鳴るコモン→(外部リンク:1drv.ms
文章表示は高機能吹き出しコモンを使用しています→(外部リンク:www.silversecond.com
960
(1): 名前は開発中のものです。 [sage] 2017/05/30(火) 20:50:09.64 ID:HP/qLAro(1) AAS
丸投げしてて草も生えない
961: 名前は開発中のものです。 [] 2017/05/30(火) 21:03:10.39 ID:bjUL4VHz(2/2) AAS
>>960
今使っているコモンは作ったり改造したりしたので丸投げしているつもりはなかったのですが…。すみません。
962: 名前は開発中のものです。 [sage] 2017/05/30(火) 23:04:04.00 ID:tiztH7Mp(1/2) AAS
普通に1文字ずつ条件分岐にかけりゃええんちゃう
\の文字があったら文字カウントせずにフラグ立てる→フラグ立った状態で次の文字を調べて . なら特殊処理、 . 以外なら前の\の分含めて文字カウント2つ とか

特殊文字が読めるかどうかは忘れた.\nとか\.とかは1文字としてカウントされるんだったっけ? ちょっと調べてみるわ
963
(1): 名前は開発中のものです。 [sage] 2017/05/30(火) 23:28:03.56 ID:tiztH7Mp(2/2) AAS
\.とか\!とかのウディタの仕様書に書かれている特殊文字は1文字扱いだったわ
\.で分岐条件にすれば判定できる。\nの改行コードだけは実際に改行した文字列で比較するしかない

つか今コモン見てみたけどその辺は分かってるっぽいじゃん
全部読み取ってから音処理してるからわかんなくなってるだけやぞ
1文字読み取り→音だす→1文字読み取り→音出す って処理にすりゃええやろ
964
(1): 名前は開発中のものです。 [] 2017/05/31(水) 00:31:10.77 ID:OsRZhZDj(1/3) AAS
>>963
お答えくださり、ありがとうございます!頭が固くて申し訳ないのですが、「一文字読み取り」とは

■文字列操作:Cself7[文章]=SysS25[[読]文章表示の内容]
■変数操作:Cself21[文字数]=0+0

で処理しているのでしょうか?私はネットに公開されていた他の方のコモンをそれっぽく組み合わせただけなので
よく理解ができていないのです・・・お手数かけてすみません。
\.の条件分岐は文字列操作で1文字切出を選び、コモンセルフに代入するような形でしょうか?

自分で書いていて更によく分からなくなってきたので、処理が重くならなければ文字の数だけ回数付きループで設定しようと思っています;;
965: 名前は開発中のものです。 [sage] 2017/05/31(水) 00:47:25.35 ID:edsmGlks(1/2) AAS
>>964
自分で作ったんじゃなかったんかい
何を試したかも、どこで詰まったかも書かずにに処理教えろってのは丸投げだと思わない?
>>1
1(20): 名前は開発中のものです。 [sage] 2016/05/21(土) 15:34:31.74 ID:Mt5/RJ1D(1/2) AAS
フリーソフトのRPG製作ソフトWOLF RPGエディターの質問者のためのスレッドです。
教えられる方はできる範囲で教えてあげてください。

・ここは質問スレです。質問者や回答者を煽るようなレスは禁止です。
・もしあなたが憤りを感じたり荒らしだと思っても、放置もしくは>>1とだけレスしてください。
 それ以上のことを書くと、それ自体が『荒らし行為となります』。ご注意ください。
・質問者もマナーを守り、回答がつきやすい質問の仕方をしましょう。

【良い質問の例】
・〜がやりたくて・・・までしたのですが、〇〇がうまくいきません。

【悪い質問の例】
・〜できますか → 大概できます。問題は「どうすればできるか」のはずです。実のない質問はやめましょう。
・〜のようなことがやりたい → 丸投げはやめましょう。1から全部教えてくれる人はまずいません。
 何が分からないか分かるまで努力しましょう。全部分からないのなら、まずは講座サイトで勉強しましょう。
・コモンイベント集から○○のコモンイベントをダウンロードしましたがエラーが出ますor使い方が分かりませんor動きません等
 →まずはそのコモンイベントの作者と連絡を取って下さい。ここにはそのコモンイベントの内容を詳しく理解している人が居ないため、あなたが望むような回答はできません。

◆WOLF RPGエディター公式サイト
外部リンク:www.silversecond.com

◇本スレ
【ウディタ】WOLF RPGエディター 其の61
2chスレ:gamedev

◇前スレ
WOLF RPGエディター 質問スレ 其の9
2chスレ:gamedev

次スレは>>980が立てて下さい。
立てられない場合は質問を自重して本スレに報告して下さい。
読もうよ

まぁ小言はこの辺にして
音鳴らすコモンみたけど962-963と同じ感想だった

高機能なんちゃらがどんな動きするかわからんけど
空データからならコレで動くよ
966
(1): 名前は開発中のものです。 [sage] 2017/05/31(水) 00:49:48.15 ID:edsmGlks(2/2) AAS
※行数の都合でちょっと加工

起動:並列常時

■ループ開始
|■条件分岐(変数): 【1】 Sys12:メッセージ表示中?(1=ON) が 0 と同じ
|-◇分岐: 【1】 [ Sys12:メッセージ表示中?(1=ON) が 0 と同じ ]の場合↓
| |■変数操作: CSelf11[前フレーム表示] = 0 + 0
| |■変数操作: CSelf10[ウェイト設定] = 1 + 0
|-◇上記以外
| |■条件分岐(変数): 【1】 CSelf11[前フレーム表示] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf11[前フレーム表示] が 0 と同じ ]の場合↓
| | |■文字列操作:CSelf7[文章] = SysS25[[読]文章表示の内容]
| | |■変数操作: CSelf10[ウェイト設定] = 12 + 0
| |-◇上記以外
| |◇分岐終了◇
| |■条件分岐(文字): 【1】 CSelf7[文章]が "" 以外
| |-◇分岐: 【1】 [ CSelf7[文章] "" 以外 ]の場合↓
| | |■文字列操作:CSelf8[ダミー] =<1文字切出> CSelf7[文章]
| | |■条件分岐(文字): 【1】 CSelf8[ダミー]が "\." と同じ
| | |-◇分岐: 【1】 [ CSelf8[ダミー] "\." と同じ ]の場合↓
| | |-◇上記以外
| | | |▼ ここでSE鳴らす
| | |◇分岐終了◇
| |◇分岐終了◇
| |■変数操作: CSelf11[前フレーム表示] = 1 + 0
|◇分岐終了◇
|■ウェイト:CSelf10[ウェイト設定] フレーム
◇ループここまで◇◇
967: 名前は開発中のものです。 [] 2017/05/31(水) 01:01:36.89 ID:OsRZhZDj(2/3) AAS
>>966
コメントで呆れられていたので、答えてもらえないのかな…と思って大口叩いてしまいました。>>1もちゃんと読んでおらずすみませんでした。

やり方を書いてくださって本当にありがとうございます!今から仕事なので、後で確認させていただきます!
968
(1): 名前は開発中のものです。 [sage] 2017/05/31(水) 01:23:31.43 ID:g+Tb/hWT(1) AAS
回答に費やす時間の5〜7割ぐらいは、質問者の意図を推理する時間だったりする
質問する側は、何がしたいのか、何が聞きたいのか、何故その発送に至ったのか等をある程度明細且つ簡潔に書いてくれると結構助かる
969: 名前は開発中のものです。 [] 2017/05/31(水) 14:22:44.65 ID:OsRZhZDj(3/3) AAS
お陰様でセリフに音がつくようになりました!ありがとうございます!
書いてくださった処理を元に、どうしてこれができるようになったのか理解する努力をしようと思います。

>>968
そうなんですね。
またどうしてもできない場面に出くわしたら、言葉で簡潔に伝えられるように考えて質問します。
970: 名前は開発中のものです。 [sage] 2017/06/07(水) 01:53:40.42 ID:sHgL5Vrp(1) AAS
すいません、ウディタでマスク処理って出来ますかね…
971: 名前は開発中のものです。 [sage] 2017/06/07(水) 05:35:29.72 ID:d59r4iY/(1) AAS
答えるの面倒だし出来ないってことでいいや
972: 名前は開発中のものです。 [sage] 2017/06/07(水) 18:32:34.28 ID:MZyQxdL8(1) AAS
画像なのかビットなのかそれとも他なのか分からん以上はなんとも言えません。
973: 名前は開発中のものです。 [sage] 2017/06/14(水) 06:06:50.88 ID:OC6Eu6MX(1/2) AAS
当たり判定用の条件分岐で質問なのですが
敵陣、主に3×3の9マス内に敵が3体居る時の条件分岐で
基準を自分のXY,敵1のXY,敵2のXY,敵3のXYで行おうとしているのですが、なかなか上手く行きません
敵123其々のYが自分と同じになったらXが自分Xより大きいなら攻撃が当たる
並んだ場合はXが一番前方に来ている敵に攻撃が当たるという形式にしたいのですが
処理を書いてる間に訳が分からなくなってしまいました(画像参照)
画像リンク

こういった場合、1つ目は『3体並んだ場合』→『「1と3」、「1と2」が並んだ場合』→『1のみ』
(以後、2体目3体目も同様の処理)
という処理をした方が良いと思いやってみたのですが
ウディタの条件分岐で複雑に処理する場合どうやればいいか分かりません

いきなりこんな訳の分からない質問をしてしまって申し訳ありませんが
分かる方居たら教えて頂けたら幸いです
どうぞよろしくお願いいたします
974
(1): 名前は開発中のものです。 [sage] 2017/06/14(水) 07:00:35.41 ID:tbUA3YSy(1) AAS
「並んだ場合はXが一番前方に来ている敵に攻撃が当たるという形式にしたい」ならそういう処理しろよ
975
(1): 名前は開発中のものです。 [sage] 2017/06/14(水) 14:10:08.02 ID:rlQyf26k(1/2) AAS
俺だったら座標計算メインでやるけど、イベントメインでやるなら敵にID振っておいて

最初にID_HOLD変数に-1を代入、X_HOLD変数に999999を代入

敵ID1のY座標が自分Y座標と同じ場合、かつ (敵X-自分X)^2 < X_HOLDの場合 → ID_HOLDに敵IDを代入、X_HOLDに(敵X-自分X)^2を代入
上の処理を敵の数だけ繰り返す

ID_HOLDが-1の場合攻撃は誰にも当たらない、-1以外の場合ID_HOLDに代入された敵IDに当たる

って感じで良いんじゃね
976: 名前は開発中のものです。 [sage] 2017/06/14(水) 14:17:47.95 ID:OC6Eu6MX(2/2) AAS
>>974
途中でこんがらがってましたすみません
>>975
ありがとうございます
そういった手法もあるのですね、ダメだった場合に試してみます
977: 名前は開発中のものです。 [sage] 2017/06/14(水) 14:20:50.02 ID:rlQyf26k(2/2) AAS
ええ……
このやり方なら敵が1体でも100体でも同じ処理だから汎用的に使えて良いと思うんだけど
1-
あと 25 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.020s