X



ツクールVX Ace 初心者救済、質問スレ Part.2 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
2016/04/07(木) 14:09:05.15ID:lSIBMvk5
スクリプトやイベントの組み方などが苦手な人を救済するスレです。
このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。

質問者を煽ったり、馬鹿にするような書き込みはしないでください。
あまり酷い場合はアクセス禁止依頼を出します。
0709名無しさん@お腹いっぱい。
垢版 |
2017/04/13(木) 21:32:35.43ID:m/XZKNCt
>>708
雑魚戦はなく、固定敵でそれぞれオンオフを切り替えたいんです、アドバイスありがとうございます、試してみます!
0710名無しさん@お腹いっぱい。
垢版 |
2017/04/14(金) 08:49:49.80ID:nnUBFrul
サイドビューのSceneをScene_Battleのサブクラスにして戦闘開始時に飛ぶScene自体を分岐しないとダメ
0711名無しさん@お腹いっぱい。
垢版 |
2017/04/18(火) 19:50:10.55ID:T+I49vZz
ワールドマップのランダムエンカウントに特定のスイッチや変数が入ってる時のみエンカウントって出来るのかな
具体的にやりたいのは昼夜でエンカウントが変わるようにしたいんだがこれスクリプト使わないとダメかな?
0714名無しさん@お腹いっぱい。
垢版 |
2017/04/18(火) 20:02:54.23ID:5fvAREPf
どうしてもランダムでやりたいなら>>712だろうな
イベント差し込みたいならシンボルにして透明にしたらいいと思うけど
0715名無しさん@お腹いっぱい。
垢版 |
2017/04/19(水) 23:09:49.45ID:XBAyD5i7
システム画像について分からないんですが
Window画像の左上が背景色になるのはわかったんですが左上を黒に塗っても青いままなんですが何故でしょうか?
0718名無しさん@お腹いっぱい。
垢版 |
2017/04/20(木) 04:29:29.51ID:j3tZopxl
ごめん716で変わってるのか
じゃあツール>データベース>システム>ウィンドウカラーを変更してみて
0722名無しさん@お腹いっぱい。
垢版 |
2017/05/04(木) 12:27:18.40ID:IcwmZARS
Game_Interpreterの追加定義として、
スイッチがOFFの時にスイッチをONにし、対応するキャラクタの名前を表示する
スクリプトを作っています。
しかし、実行しても処理の最後のキャラクタしか名前が呼び出されません。
何が問題なのでしょうか?


ソースは以下になります。
変数定義は、
i, スイッチ番号指定用の変数
j, アクター番号指定用の変数
game_variables[12],指定したアクター番号を入れておく変数、制御文字で呼び出す

def test
i = 82;j = 12;
$game_variables[12] = j;
while j <= 19;
actor = $game_actors[j];

if $game_party.members.include?(actor);
if $game_switches[i] == false;
$game_switches[i] = true;

$game_message.add("\\N[\\V[12]]が出現")
end
end
i = i + 1;
j = j + 1;
$game_variables[12] = $game_variables[12] + 1;
end


自分ひとりで考えても、解決策が浮かびませんでした。
よろしくお願いします……。
0723名無しさん@お腹いっぱい。
垢版 |
2017/05/04(木) 16:59:11.66ID:W2z2SEGs
色々と無駄な書き方が多いけど実データと併せて見ない事にはなんとも。
「処理の最後のキャラクタしか名前が呼び出されません」という挙動になる理由はここからは読み取れない。
文意を読み取って最適化するとこういう感じかな。
指定のアクターIDからアクターID19番目までを対象に
現在パーティに含まれているかチェックしてメッセージキューに詰め込む、って事で良いんだよね。

class Game_Interpreter
def test
aid_start = 12
aid_last = 19
sid_base = 70

(aid_start..aid_last).each{|actor_id|
actor = $game_actors[actor_id]
next unless $game_party.members.include?(actor)
next if $game_switches[sid_base + actor_id]
$game_switches[sid_base + actor_id] = true
$game_message.add(actor.name + "が出現")
}
end
end
0727名無しさん@お腹いっぱい。
垢版 |
2017/05/07(日) 01:33:26.34ID:1odeMLYV
Scene_Mapのstart時に@map_name_window.openする
Window_MapNameのupdateで@show_countの減算をなくす


class Scene_Map < Scene_Base
alias _start start
def start
_start
@map_name_window.open
#~ @map_name_window.contents_opacity = 255
end
end
class Window_MapName < Window_Base
alias _update update
def update
_update
@show_count += 1 if @show_count > 0 && $game_map.name_display
end
end
0729名無しさん@お腹いっぱい。
垢版 |
2017/05/07(日) 17:35:53.45ID:FimVpRP8
選択肢について質問なのですが

とある同人ゲームで、下図のように
通常メッセージウィンドウ枠で横二列、縦に複数の選択肢を表示してるのですが

┌────────────────┐
| 少年A     ▽少年B   |
| おねえさん    おじさん  |
| 少女A      少女B   |
| じいちゃん    ばあちゃん |↓下にスクロールできます
└────────────────┘

色々ググってみたり、その同人ゲーム製作クレジットの
借用スクリプト先を探してみたのですがそれらしいものが見つかりませんでした。

やり方もしくは配布されているスクリプトを知っている方がいましたら
教えてもらえないしょうか?
0730名無しさん@お腹いっぱい。
垢版 |
2017/05/07(日) 19:31:06.26ID:LcvOhMNH
そのメッセージウィンドウ枠とやらが上側に表示されてたなら
十中八九ただのイベントコマンド

イベントコマンドのタブ1をよく見て閃くかツール違うけどMVの新機能講座を見るか
サンプルゲームのきみは勇者じゃない!2 〜ニルスのお仕事〜あたりをやれば分かる
0731名無しさん@お腹いっぱい。
垢版 |
2017/05/08(月) 14:16:18.63ID:gmaAh1Ra
>>730
ご教授ありがとうございます、教えていただいた先を見ながら試し、
下部に表示させるスプリクトをみつけて使用したところイメージどおりにできました。

ありがとうございました
0732名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 02:45:21.96ID:eBVL26lr
例:◯G→\◯
のように通貨単位の表示を右側ではなく左側にしたいのですが、スクリプトのどこをいじればよいでしょうか?
0734名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 10:04:29.94ID:eBVL26lr
>>733
ありがとうございます!
申し訳ありませんが、スクリプトに関して無知であり、draw_currency_valueの部分をどのようにいじれば通貨単位を左に変更できるのか、よろしければ教えていただけないでしょうか?
0735名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 11:04:31.24ID:Z0GUAEqc
敵の能力値を変数で決めることって出来る?
攻撃力:v1とか敏捷性v1 * 2とか
あとこれって魔物図鑑でも反映される?
0736名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 11:38:50.64ID:QwLRAtHJ
>>734
def draw_currency_value(value, unit, x, y, width)
cx = text_size(value).width
change_color(normal_color)
draw_text(x, y, width, line_height, value, 2)
change_color(system_color)
draw_text(x, y, width - cx - 2 , line_height, unit, 2)
end
0737名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 11:54:31.13ID:QwLRAtHJ
>>735スクリプトコマンドで
$data_enemies[id].params[pn] = $game_variables[vn]

3:ホーネットの攻撃力を変数100の値に設定する例
$data_enemies[3].params[2] = $game_variables[100]

id: 敵番号 初期状態では1:スライム 2:こうもり
pn: ヘルプより
 params
 能力値。以下の ID を添字とする整数の配列です。
 0 : 最大HP
 1 : 最大MP
 2 : 攻撃力
 3 : 防御力
 4 : 魔法力
 5 : 魔法防御
 6 : 敏捷性
 7 : 運
vn: 変数番号

>あとこれって魔物図鑑でも反映される?
スクリプトによる 自分で確かめて
0740名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 12:33:14.90ID:QwLRAtHJ
>>739 いやスクリプトコマンドでできると思うけど没案なのでなかったことにしてから以下のスクリプト導入して
# 使用方法
# 敵キャラのメモ欄に以下のような書式で記述
# <攻撃力: v[1] * 99>
# <防御力: v[2]>
# など
class Game_Enemy < Game_Battler
def param_base(param_id)
v = $game_variables
case param_id
when 0; enemy.params[param_id] = eval($1) if enemy.note =~ /\<最大HP: (.*)\>/
when 1; enemy.params[param_id] = eval($1) if enemy.note =~ /\<最大MP: (.*)\>/
when 2; enemy.params[param_id] = eval($1) if enemy.note =~ /\<攻撃力: (.*)\>/
when 3; enemy.params[param_id] = eval($1) if enemy.note =~ /\<防御力: (.*)\>/
when 4; enemy.params[param_id] = eval($1) if enemy.note =~ /\<魔法力: (.*)\>/
when 5; enemy.params[param_id] = eval($1) if enemy.note =~ /\<魔法防御: (.*)\>/
when 6; enemy.params[param_id] = eval($1) if enemy.note =~ /\<敏捷性: (.*)\>/
when 7; enemy.params[param_id] = eval($1) if enemy.note =~ /\<運: (.*)\>/
end
enemy.params[param_id]
end
end
0741名無しさん@お腹いっぱい。
垢版 |
2017/05/13(土) 13:23:07.95ID:QwLRAtHJ
以下のスクリプトもくっつけておいたほうが良いな
class Scene_Map < Scene_Base
alias aaaa_start start
def start
aaaa_start
$data_enemies.each{|enemy|
next if enemy.nil?
change_enemy_params(enemy)
}
end
def change_enemy_params(enemy)
v = $game_variables
enemy.params[0] = eval($1) if enemy.note =~ /\<最大HP: (.*)\>/
enemy.params[1] = eval($1) if enemy.note =~ /\<最大MP: (.*)\>/
enemy.params[2] = eval($1) if enemy.note =~ /\<攻撃力: (.*)\>/
enemy.params[3] = eval($1) if enemy.note =~ /\<防御力: (.*)\>/
enemy.params[4] = eval($1) if enemy.note =~ /\<魔法力: (.*)\>/
enemy.params[5] = eval($1) if enemy.note =~ /\<魔法防御: (.*)\>/
enemy.params[6] = eval($1) if enemy.note =~ /\<敏捷性: (.*)\>/
enemy.params[7] = eval($1) if enemy.note =~ /\<運: (.*)\>/
end
end
0743名無しさん@お腹いっぱい。
垢版 |
2017/05/17(水) 05:50:54.61ID:cQT7IG8h
戦闘画面でバトルログ・メッセージを全面的に廃止したいのですが、どうすればいいですか?
vx aceのデフォルトだと戦闘経過が文章で表示されますがアレを全て消したいです
・モンスターとエンカウントしたとき「〇〇(モンスター名)が出現した!」みたいなメッセージが出ず、そのまま戦闘に突入する
・敵・味方が行動した時、メッセージ(エリックの攻撃! スライムに350のダメージを与えた! スライムは倒れた! みたいな文章)が表示されないようにする
・戦闘勝利後、(〇〇Gを獲得 〇〇の経験値を獲得!みたいな文章を消す
ドラクエではなくファイナルファンタジーのような戦闘画面が理想です
何としても実現したいのでどなたか方法をお願いします!
0745名無しさん@お腹いっぱい。
垢版 |
2017/05/17(水) 06:10:41.44ID:U5QI3o/+
BattleManagerモジュールの$game_message.addを全部コメントアウトすればいいんじゃないかな
それでも余計なメッセージが出たらVocabモジュールでそのメッセージの定数を調べて全文検索して同じくaddしてる所をコメントアウト
0749名無しさん@お腹いっぱい。
垢版 |
2017/05/19(金) 16:15:58.16ID:9vnQWgzB
>>748
ありがとうございます
「スキル使用者の装備している武器によってスキルの性能を変化させることができます」との事なので
通常攻撃に適用できるかわかりませんが、このスクリプトで一度試してみようと思います
0750名無しさん@お腹いっぱい。
垢版 |
2017/05/25(木) 19:30:39.36ID:M4Y6JxfB
とあるイベントでゲームオーバーになって、そのセーブデータを開いたら別のイベントが始まってセーブデータが壊れるみたいなのはどうやれば出来るんでしょうか?
1度でも見たらはじめからスタートしても別のセーブデータをロードしても二度と見られないイベントとか、セーブデータじゃなくゲーム本体に影響をおこすイベントの作り方が知りたいです
0751名無しさん@お腹いっぱい。
垢版 |
2017/05/25(木) 19:42:34.93ID:C+BLo7Xk
オートセーブのスクリプト使って
ロードした瞬間ゲームオーバーになるところでオートセーブさせればいいのでは?

セーブデータ壊すとかそういうの無理ではないかと。
セーブしないでそのセーブデータに影響させる変数とか宣言できるのかは知らないけど
出来たとしたら他のセーブデータすべてに影響する内容になりそう。
0752名無しさん@お腹いっぱい。
垢版 |
2017/05/25(木) 19:44:57.63ID:QbI6ALL8
結論から言うと無理
自分自身を書き換える事が出来ないから

似たような事は
・スクリプトから個別セーブデータを壊す(オープンして空にして保存)
・グローバルセーブデータを作る(もしくは壊す)
・グローバルセーブの状態によってその特別なイベントを出さない
で出来るけど結局以前のデータを残されてたり、ダウンロードしなおされると元に戻る
0753名無しさん@お腹いっぱい。
垢版 |
2017/05/25(木) 19:56:45.42ID:QbI6ALL8
グローバルセーブをゲームフォルダ以外にこっそり作れば回避は難しくなるけど
セキュリティソフトによっては警告が出る
というかそんなギミックは苦情が来るからやめたほうが良い
0755名無しさん@お腹いっぱい。
垢版 |
2017/05/26(金) 10:33:06.08ID:Oawt0knu
>>751
自分がやったゲームはそんな感じでした、ありがとうございます調べてみます!
>>752
グローバルセーブデータというのは共有セーブデータの事でしょうか?
それも勉強してみます!ありがとうございます
>>753
>>754
苦情が出ない程度のクソゲーつくりを頑張ります!
0756名無しさん@お腹いっぱい。
垢版 |
2017/05/26(金) 11:57:40.67ID:boPc8UMh
回復魔法の属性補正って通常属性攻撃と同じ?
たとえば燃えてる系の敵に水属性有効率が200%に設定してあると仮定した時、炎に水の回復技使うと回復効果も2倍になるのかな
0759名無しさん@お腹いっぱい。
垢版 |
2017/05/27(土) 04:52:06.48ID:tv3BPlWx
条件分岐のスクリプトでアクター(変数)がステートxになっているかどうかっていう表記はどうかけばいいですかね?
0764名無しさん@お腹いっぱい。
垢版 |
2017/05/29(月) 00:09:06.70ID:lB7RF2Ir
独自のシステム作ろうとして
値保存用にスクリプトでグローバル変数使ってるんですが
ゲームを終了して、再度立ち上げ直すとグローバル変数が初期化されてしまっています。

スイッチや変数はちゃんと保持されるのにこちらが保持されないのは
何かやり方が悪いんでしょうか。。。
0766名無しさん@お腹いっぱい。
垢版 |
2017/05/29(月) 01:48:11.01ID:JsFbpgKc
セーブデータをいじらないといけない

module DataManager
class << self
#--------------------------------------------------------------------------
# ● セーブ内容の作成
#--------------------------------------------------------------------------
alias _make_save_contents make_save_contents
def make_save_contents
contents = _make_save_contents
contents[:hoge] = $hoge
contents[:fuga] = $fuga
contents[:piyo] = $piyo
contents
end
#--------------------------------------------------------------------------
# ● セーブ内容の展開
#--------------------------------------------------------------------------
alias _extract_save_contents extract_save_contents
def extract_save_contents(contents)
_extract_save_contents(contents)
$hoge = contents[:hoge]
$fuga = contents[:fuga]
$piyo = contents[:piyo]
end
end
end
0768名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 22:41:49.37ID:285i+pat
サイドビューで自軍のキャラの初期位置を移動させようとしてるんですけど
http://blog.livedoor.jp/trb_surasura/archives/10203367.html
これを使おうとしてるんですが、プラグインでも戦闘中のスクリプトでもエラーが起きます
恐らくMVのものだったからでしょうか、何か代替できるものがあれば教えていただきたく存じます
0770名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 22:45:39.60ID:Ell/ClKB
>>768
VX ACEの言語はRuby
MVの言語はJavaScript
この時点でそのまま使うなんて無理だから。

PS4のソフトをXbox Oneでやろうとしてるくらい無理な話。
0771名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 22:50:51.79ID:285i+pat
>>770
やっぱり無理なんですね…
ところで、VXAceでバトラーを移動させるスクリプトは見つからないんですが、サイドビュースクリプトにキャラクターの位置を指定させたりする記述はないんですかね…?
0773名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 22:54:57.08ID:285i+pat
>>722
サイドビュー自体は適応できたんですよね
ただ、キャラクターの立ち位置が画面上でY軸方向に上に行き過ぎているので、その位置調節をしたいんです
0774名無しさん@お腹いっぱい。
垢版 |
2017/05/31(水) 23:01:33.01ID:K79SwrDd
RPG探検隊の奴だと「SideViewアクション設定」のACTOR_POSITION弄れば良いんじゃないかな?
そういうことではない?
0776名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 05:43:29.91ID:Wo336TrK
敵が技出すときに動く(画像を入れ替える)ようにしたかったんだけど、攻撃時に敵のバトラー画像を変更する方法はありませんか?
0777名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 06:36:56.64ID:EC8f0/T3
データベース>アニメーション>SEとフラッシュのタイミングで対象消去してエフェクトを敵グラフィックにするとか?
0778名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 06:53:01.02ID:EC8f0/T3
データベース>敵グループ>バトルイベント>イベントコマンド3>敵キャラの変身を毎回やったほうがいいかな?
0780名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 13:29:25.39ID:c0g1s22o
すいません、ネット回線が落ち込んでてなかなかお礼が言えませんでしたが、今更ながら感謝させていただきます。対処できました、ありがとうございます!
0781名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 15:56:17.27ID:1dSA2FRk
戦闘中、味方パーティーが逃げだしたときに「途中から出現」する設定をしてまだ現れてない敵が
最後に強制的に現れて見えてしまうんですが何か対処法ってありますか?
0782名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 16:11:16.92ID:c0g1s22o
>778
画像が大き過ぎたのでアニメーションで無理だったので変身にしようと思ったんですが、変身(バトルイベント)って技をフラグにできるんですかね…?
0784名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 17:01:37.47ID:EC8f0/T3
>>782
データベース>スキルで敵専用のスキルを作成
データベース>スキル>使用効果>その他>コモンイベントでスイッチ操作
データベース>敵グループ>バトルイベントで条件をスイッチに、スパンをモーメントとかならどうだろう?

実際試してないのでうまくいくか……
0786名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 17:53:49.70ID:c0g1s22o
>>784
助言ありがとうございます!まだ完璧にできたわけではないですが、アニメーションさせることに成功しました。
取り敢え他の人の助けにもなるようにメモをしておくと、アニメーションのようにするにはフレーム数分の敵キャラクターの設定が必要です、設定などは>>784さんのいう通りにすればできます。
攻撃が一通り成功したらまた追記しようと思います、改めてありがとうございました。
0787名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:09:58.50ID:c0g1s22o
擬似アニメーションについて色々わかってきたので纏めておきます
・アニメーションさせる敵キャラは基本的にスキルは覚えさせないのが吉、アニメーションやスキルが暴発する可能性がある
・アニメーションをさせてから戻す場合は最初の立ち絵を最後に入れる必要がある
当たり前のことかもしれませんが、参考にして頂ければ…
0788名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:26:31.42ID:c0g1s22o
アニメーションは上手くいくんですが、よく見て見たら全体の動きが
アニメーションもどき

実際の戦闘(移動、ダメージ、攻撃演出など)

アニメーション
とおかしなことになってますね…

入力しているのは
スキル:スイッチON
→バトルイベント:アニメーション、スイッチOFFにしてるんですが、なんでこうなるんだろう…
0789名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:33:05.23ID:ZCpeDwPD
>>782
>画像が大き過ぎた
アニメーションのセル画像を複数並べて大きな1枚絵にしたら?
ttp://www.dotup.org/uploda/www.dotup.org1267902.png
0790名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:36:56.04ID:c0g1s22o
>>789
それも考えたんですけど、アニメーション枚数もそれなりに量あるのでグラフィックの枠内に収まらないんですよね…治ればよかったんですけど(そもそも分割しても入りきってないんですけれども)
0791名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:42:50.17ID:c0g1s22o
アニメーションの方でも何か大きな画像を扱えるしようみたいなのがあればいいんですけどね…
自分としては移動→攻撃アニメーション→ダメージの流れが理想なんですが、攻撃のタイミングを弄る場所が見当たらないですし
0792名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:45:36.42ID:EC8f0/T3
細かな演出タイミングは設定ではどうにもならないと思うので妥協できない場合は
スクリプトのScene_Battleを弄るしかなさそう
0793名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 18:52:03.52ID:o1RH6Dg7
AceでRPG探検隊様のサイドビュースクリプトを使わせてもらってるのですが
アクターに魔法詠唱を指示した直後に、再びそのアクターにターンが回ってきてしまい
何事も無かったかのように命令コマンドを指示し直すことになる、という現象が時々起きます。

ただ他にも戦闘関連のスクリプトを入れている為、デフォルトのエラーではないのかもしれません。
仮にサイドビュースクリプトに限った場合、どこら辺を見直してみるべきか、ご教示頂けますと有難いです。
0794名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 19:00:28.58ID:1dSA2FRk
教会でセーブするようにして、セーブするときにいずれかのセーブ欄にちゃんと記録したときと
キャンセルしたときで神父のメッセージが変わるようにするのって
難しいんでしょうか?
例えば
@セーブ欄1に記録したとき
 神父「無事書きとめました。
    他に何か用はありますか?
Aセーブせずにキャンセルしたとき
 神父「書きとめなくてよろしいのですか?
    それでは 他に用はありますか?
という感じになるようにしたいのですが。
0795名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 19:00:33.30ID:EC8f0/T3
>>793
まず問題の切り分けを自分でやってもらえるかな?
サイドビュー戦闘以外の戦闘関連スクリプトを全部外して起こるかどうか
無数にあるスクリプト素材が相互にどう影響するかは誰にも分からないし入れる順番で起こる現象も違うから
0796名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 19:12:09.57ID:ZCpeDwPD
>>794 こいつを応用してみて
class Scene_Save < Scene_File
alias _on_save_success on_save_success
def on_save_success
_on_save_success
$game_switches[123] = true #セーブしたらスイッチ123がONになる
end
end
0798名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 19:17:30.10ID:c0g1s22o
ところでなんですが、キャラチップの仕様として!$で大きなキャラチップも使えますがアニメーションにも同様な仕様はないですかね?
0799名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 19:23:14.30ID:ZCpeDwPD
>>794
class Scene_File < Scene_MenuBase
alias _start start
def start
_start
$game_variables[123] = 0 #セーブしなければ変数123に0代入
end
end
class Scene_Save < Scene_File
alias _on_save_success on_save_success
def on_save_success
_on_save_success
$game_variables[123] = 1 #セーブしたら変数123に1代入
end
end
class Scene_Load < Scene_File
alias _on_load_success on_load_success
def on_load_success
_on_load_success
$game_variables[123] = 2 #ロードされたときは変数123に2代入
end
end
0802名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 20:07:55.58ID:ZCpeDwPD
ファイル名頭に$を入れたアニメーションはビッグサイズで表示するテスト
class Sprite_Base < Sprite
def big_size
384
end
def animation_set_sprites(frame)#override
cell_data = frame.cell_data
@ani_sprites.each_with_index do |sprite, i|
next unless sprite
pattern = cell_data[i, 0]
if !pattern || pattern < 0
sprite.visible = false
next
end
sprite.bitmap = pattern < 100 ? @ani_bitmap1 : @ani_bitmap2
sign = (pattern < 100 ? @animation.animation1_name : @animation.animation2_name)[/^\$./]
size = sign ? big_size : 192
sprite.visible = true
sprite.src_rect.set(pattern % 5 * size,
pattern % 100 / 5 * size, size, size)
if @ani_mirror
sprite.x = @ani_ox - cell_data[i, 1]
sprite.y = @ani_oy + cell_data[i, 2]
sprite.angle = (360 - cell_data[i, 4])
sprite.mirror = (cell_data[i, 5] == 0)
else
sprite.x = @ani_ox + cell_data[i, 1]
sprite.y = @ani_oy + cell_data[i, 2]
sprite.angle = cell_data[i, 4]
sprite.mirror = (cell_data[i, 5] == 1)
end
sprite.z = self.z + 300 + i
sprite.ox = size / 2
sprite.oy = size / 2
sprite.zoom_x = cell_data[i, 3] / 100.0
sprite.zoom_y = cell_data[i, 3] / 100.0
sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
sprite.blend_type = cell_data[i, 7]
end
end
end
0803名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 22:03:48.20ID:WEGSPPNA
マップを飛ばすと座標がずれる(X:左に8Y:上に36くらい)んですが、これってマップが大きすぎるのと関係あるのでしょうか?マップの大きさは51×310で、マップチップを組み込むものではなく背景をもとに作ったマップです
0804名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 22:25:58.92ID:c0g1s22o
すいません、飛ばした先の座標がずれるというのは誤りでした、正確には、マップの背景と指定したマップチップの位置がずれる、でした
マップの位置情報が左上にずれる感じです
0806名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 22:53:16.89ID:EC8f0/T3
>>804
parallax mappingかな?
ループさせると遠景とマップチップのスクロール速度が違うからずれて見えるけど
遠景は固定?
0807名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 23:02:50.36ID:c0g1s22o
>>806
詳しくないので単語はよくわからないんですが、ココ数時間調査して見て分かったことを書いておきます…
・導入したスクリプトは関係ない(新規プロジェクトにて同様の問題が発生したことを確認)
・マップを小さくしてみたり、飛ばし先の座標を変更してもバグる
実際に起動した時のバグり方としては、マップのシステム情報(動ける範囲や画像(マップ)の端の設定など)が左上に寄せられ、左上の限界位置はそのままといった感じです、感覚的には右と下の枠を同倍率で狭めている感じでしょうか

○マップの基本設定
スクロールタイプ:ループしない
大きさ:51×310
使用タイル:自前で用意した透明タイル二種(歩行可能、不可能)
0808名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 23:05:48.39ID:c0g1s22o
すいません今マップを歩いていたら上部26マス分も歩けませんでした、もう自分には何が何だか…
0809名無しさん@お腹いっぱい。
垢版 |
2017/06/01(木) 23:25:14.88ID:EC8f0/T3
>>807
遠景自体はループしない設定?
遠景のCGサイズはマップの大きさと同じ?
遠景を床にするスクリプトは入れてる?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況