ツクールVX Ace 初心者救済、質問スレ Part.4
スクリプトやイベントの組み方などが苦手な人を救済するスレです。
このスレが繁栄する事はAceの繁栄につながり、過疎スレとなるとAceの衰退につながります。
質問者を煽ったり、馬鹿にするような書き込みはしないでください。
あまり酷い場合はアクセス禁止依頼を出します。
前スレ
https://mao.5ch.net/test/read.cgi/gameama/1504418487/ フォントを変えたいなら適当なスクリプトセクションに
Font.default_name = "MS 明朝"
Font.default_size = 22
Font.default_bold = true
とか書けば良い。(マニュアル参照)
ウィンドウの方は多分、Window.pngを差し替えてるだけだと思う
Systemフォルダに新しいWindow.pngを配置すれば適用される フォント変更ができました!ありがとうございます!!
windowのほうも変更してみます! Windowの変更はGraphics<Systemであってるでしょうか?
何も入ってなかったので心配です。
それとも元から既製のWindowだったのでしょうか? 一応分かると思うけどWindow.pngの仕様はヘルプの「ウィンドウスキン詳細」参照ね
ウィンドウカラーの色を変えるだけならデータベース>システム>ウィンドウカラーから変える事は出来るけど
スクリプトリファレンスから素材規格までヘルプ見れば大体の事が載ってるよ
>>4
既成はC:\Program Files (x86)\Common Files\Enterbrain\RGSS3\RPGVXAce\Graphics\System\Window.pngから適用される
これが俗にいうRTP(ランタイムパッケージ)
ゲームフォルダのSystemフォルダ内にWindow.pngがあればそちらが優先して適用される
デフォルトで使用可能な素材は全てそう Windowカラーは正しく変更できました!!
Window.pngのほうはサイズとかの設定はあるんでしょうか? 「サイズ」がどのサイズの事を言ってるのか分からない
ウィンドウのサイズでもウィンドウ内に使用される文字のサイズでも自由に変更は出来るけども
その辺はスクリプト弄りの領分になるから
ヘルプのスクリプト入門から基礎編、解読編、実践編を重ねてシステムの理解を深めた方が良い スプリクト入門のほうしっかり読んできたいと思います!
WindowなんですけどWindowの縁の部分の色は変更はできるのでしょうか? その辺は素材弄りの領分
Window.pngをRTPからコピーしてゲームフォルダのSystemフォルダにペースト
適当な画像編集ソフトで右上の枠を弄れば色も形も変える事が出来る できました!Windowの枠!
あと知りたいのがメニュー画面のレイアウトなんですが、そこはスクリプトをいじる感じみたいなんですけど
どこをどういじったらいいのかわかんないです(´;ω;`)ウゥゥ スクリプト入門実践編の「タイトル画面の改造」まで修めれば応用でメニュー画面の改造も出来ると思う
問題の答えを教えるのは簡単だけど初歩の内は解き方を覚えた方が良い
横着しても結局どこかで詰まるだけだな セーブ画面の顔グラフィックの位置を少し右にずらすように変更したいのですが、
どうすればいいかわからなかったので質問してもいいでしょうか?
#--------------------------------------------------------------------------
# ● セーブファイル表示用の顔グラフィック画像情報
#--------------------------------------------------------------------------
def faces_for_savefile
battle_members.collect do |actor|
[actor.face_name, actor.face_index]
end
end
end 随分質問をハショるね。つまり
@セーブファイルのヘッダ情報をパーティのキャラクター描画から顔グラフィック描画に
A更に、右に少しずらして描くには
って事?
顔グラフィック描画の時点でデフォルトにないからそこから質問してくれ で、改造ポイントの着目点に関しては悪くはない
@.Game_Party#faces_for_savefileの追加
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● セーブファイル表示用の顔グラフィック画像情報
#--------------------------------------------------------------------------
def faces_for_savefile
battle_members.collect do |actor|
[actor.face_name, actor.face_index]
end
end
end
A.次にCTRL+SHIFT+Fで全文検索して「characters_for_savefile」が使われていた部分に記録の追加
B.基本的にツクールのスクリプト制作はプリセットスクリプトを直接改造せずに
(ここから追加)以下のセクションでメソッドの上書きをするんだけどマネージャメソッドのエイリアスは少し特殊で
class << DataManager
#--------------------------------------------------------------------------
# ● セーブヘッダの作成
#--------------------------------------------------------------------------
alias :_old_make_save_header :make_save_header
def make_save_header
header = _old_make_save_header
header[:faces] = $game_party.faces_for_savefile
header
end
end
と書いてセーブヘッダ情報の中に顔グラフィックの情報も盛り込む
C最後にWindow_SaveFile#refreshの変更
class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
change_color(normal_color)
name = Vocab::File + " #{@file_index + 1}"
draw_text(4, 0, 200, line_height, name)
@name_width = text_size(name).width
draw_party_faces(152, 58)
draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
end
end
D後は自分でWindow_SaveFile#draw_party_facesの内容を考えてくれ
draw_faceってメソッドもあるから内容はdraw_party_charactersとほとんど変わらない なんとかできました!ありがとうございます!
もう一つ質問いいですか?
メニュー画面の顔グラフィックとセーブ画面の顔グラフィックを違うものに変更して
メニュー画面の顔グラフィックを顔だけじゃなくて全身に変更する方法はありますか?
またメニュー画面のアクターの名前のところを横表記ではなくて縦表記にする方法などは
ヘルプを見たらわかりますか? 全身画像はメニュー画面の完全改造になるけどbltコマンド使ってcontentsにコピーとか
テキストの縦書きはデフォじゃ用意されてない
そのくらいならあらかじめ画像で用意して上と同じ方法でbltした方が良い
Pictureフォルダに画像を用意して
class Window_Test < Window_Base
def initialize
super(0, 0, 200, 200)
contents.clear
bitmap = Cache.picture("Bustup")
contents.blt(0, 0, bitmap, bitmap.rect)
end
end
とか実行すればウィンドウのcontents内に画像が転送される Pictureフォルダに画像を用意はできました!
class Window_Test < Window_Base
def initialize
super(0, 0, 200, 200)
contents.clear
bitmap = Cache.picture("Bustup")
contents.blt(0, 0, bitmap, bitmap.rect)
end
end
のほうも実行できたと思うのですが何の変化もないです!
どのスプリクトを変更したらいいでしょうか、? ただのサンプルコードだからな
顔グラフィックを全身画像にするって事はもうパーティ4人分の情報を描画するのではなくほぼ一人用のメニューに改造するって事だろ?
この辺は正確な画面UIに応じて細かい調整しなきゃいけないから具体的な事は言えないが、あくまでサンプルとして
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
contents.clear
bitmap = Cache.picture("Bustup")
contents.blt(0, 0, bitmap, bitmap.rect)
end
end
とか書けば既存のメニューのステータス情報は全て無くなって全身画像だけ表示される
表示原点は0, 0(左上)
contentsっていうのは言わばキャンバスだから好きな情報を書き込めば良い むずかしいですね!一応四人は入れる分の枠は入れるようにしたいのですが、
問題の全身画像がわからなかったです、
全身用の画像を持ってきて入れたいのですが全部顔グラフィックになってしまします デフォルトのウィンドウサイズ(544*416)を基準にすると
その内のメニューステータスウィンドウのサイズが(384 * 416)
padding(枠の太さ)は基本12だからcontentsのサイズは一回り小さい(360 * 392)
それを横に四分割すると(360 * 98)
顔グラフィックのサイズは一辺96だから本当にデフォルトだと高さがギリギリなんだよ
これを4人分の表示領域のまま顔グラフィックを全身画像に変えたいって画面UIが想像出来ない
どう考えてもはみ出るだろう
96*96に収まる全身画像なら顔グラフィック規格に当て嵌めろって話だし
これ以上アドバイス欲しいなら画面配置図でも描いて上げてくれ こんなかんじです!
こんなかんじです!
そっちを先に言ってくれ。つまり縦表示から横表示に変えると
Window_MenuCommandやWindow_MenuStatusのサイズや位置調整方法は簡単だからとりあえず省くけど
まず縦から横に変える方法は
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 4
end
end
詳しい説明は省くけどデフォルトでは桁数1になってるから桁数4に変更
で、表示領域あたりの描画は
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled)
draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
end
end
この部分でやっている。下二つのdraw_actor_XXって部分を消せば白紙になる
とりあえず対応ピクチャファイル名はBustup_(アクターID).pngとか(例:Bustup_1.png)で保存しておいて
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● アクターのバストアップグラフィックの描画
#--------------------------------------------------------------------------
def draw_actor_bustup(actor, rect, enabled)
dst_center_x = rect.x + rect.width / 2
dst_center_y = rect.y + rect.height
bitmap = Cache.picture("Bustup_#{actor.id}")
x = dst_center_x - (bitmap.rect.width / 2)
y = dst_center_y - bitmap.height
contents.blt(x, y, bitmap, bitmap.rect, enabled ? 255 : translucent_alpha)
end
end
をdraw_actor_faceの代わりに入れれば反映されるはず
引数をx, yからrect引き渡しに変更している点に注意 全部変えてみたのですが
以下のとうりになりました!あとできていないのがバストアップの画像の表示みたいです!
私の設定のミスの可能性がありそうです、
なぜかこのアクターどっとマップからの変更ができません!
桁数の変更はcol_maxだけじゃ足らないな
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return 4
end
#--------------------------------------------------------------------------
# ● 項目の高さを取得
#--------------------------------------------------------------------------
def item_height
height - standard_padding * 2
end
end
この二つを変えないとダメだった
それとバストアップ画像の変更が出来ない、と。見た感じ顔グラフィックがそのまま表示されてるって事?
答えを言っちゃえばこれで既存の描画項目は消えて、
各バストアップ画像だけ表示されるはずだけど上書きするところ間違えてないか?
あるいは再度上書きしているか
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_bustup(actor, rect, enabled)
end
end 一応基本的なデバッグ方法としてp命令がある
ツクール本体のツールバー「ゲーム(G)」>「コンソールの表示(C)」でコンソール画面を出せる
この状態でp "処理完了"とか書けばそのメソッドが本当に実行されたのか確かめる事が出来る
#--------------------------------------------------------------------------
# ● アクターのバストアップグラフィックの描画
#--------------------------------------------------------------------------
def draw_actor_bustup(actor, rect, enabled)
dst_center_x = rect.x + rect.width / 2
dst_center_y = rect.y + rect.height
bitmap = Cache.picture("Bustup_#{actor.id}")
x = dst_center_x - (bitmap.rect.width / 2)
y = dst_center_y - bitmap.height
contents.blt(x, y, bitmap, bitmap.rect, enabled ? 255 : translucent_alpha)
p "バストアップ描画完了"
end
とか書いて本当に処理が実行されたのか確認してくれ 起動時に一緒にコンソールは出ましたがpを押しても反応しません!(´;ω;`)
#--------------------------------------------------------------------------
# ● アクターのバストアップグラフィックの描画
#--------------------------------------------------------------------------
も追加して
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_bustup(actor, rect, enabled)
end
end
も入れ替えたのですが
変わらないままです(´;ω;`) じゃそもそも実行されてないんだろ
ところどころ分かっていて当然と思う所は説明ハショっているから、どこかで認識の齟齬が発生している
ツクールのプラグイン素材(スクリプト素材)っていうのは既存の処理の上書きが基本になっている
例えば既存のメソッド
def test
p "テスト実行"
end
があったとして(ここに追加)以降のセクションに
def test
p "拡張版テスト実行"
end
と記述すれば以降のtestメソッドは後者に置き換えられる
これと同じで>>28以降にdef draw_item(index)を上書きして実行されてない可能性が高い
時間はかかるかも知れないが
p "処理通過"を書きまくってどこまでが動いて、どこから動いていないのか境界線を究明すれば原因が分かるよ あーあと一応言っておくけど
2chの仕様で行頭の半角スペースが非表示になっているだけだからインデント(字下げ)は徹底してくれ
ポップアップ表示で見れば省略されただけなのか、元の文章から書いてないのか分かる
クラスの中、メソッドの中、if文の中等プリセットスクリプトの書式に合わせて必ず2文字分の半角スペースで下げる事
可読性はコードを見返す上でとても重要だ p "処理通過"をどこにかきまくればいいですか?! 今更聞き直すのもなんだが(ここから追加)以下のセクションに自作スクリプト書いてるんだよな?
添削してあげるからCTRL+A,CTRL+Cで全文コピペして適当なtxtファイルに保存
GoogleDriveでもgithubでもAxfc Uploaderでも良いから適当なアップローダに上げてくれ 全部(ここから追加)ではないです!
項目の追加とかは上書きしちゃいました、!
いま(ここに追加)に置いているものを張っていきます! 思ったよりもまとも、と思ったけどcodecrushさんのスクリプト素材を改造していたのか
Window_HorzMenuStatusを新しく定義している上にステータス表示メソッドもかなり弄ってんのね
rectやenabledフラグを削ってんなら普通にx, y指定に調整し直した方がいいな
どうせ全身画像のサイズ規格は全て同じだろうし、x,yの微調整は自分でやってくれ
https://drive.google.com/file/d/1bbjymGvapeFS3NIC3NBD6wtavOMV90R4/view?usp=sharing
俺はちょっと特殊な方法で別のスクリプトエディタを利用しているけど
もしもツクールデフォルトのスクリプトエディタ(F11)を使っているのならコメントアウトはCTRL+Qを使った方が良い
有効・無効をワンタッチで切り換える事が出来るし複数行の指定も可能 >xとyの調整ってどうしたらいいんですか?!
draw_actor_bustup(actor, x, y + 60)
ここで第二引数、第三引数の調整
>またBustup_1の画像が謎の枠で下半身が消えたりします!
下のマップ名表示ウィンドウから12ピクセル上で途切れてるなら仕様
ウィンドウ枠や背景を透明化しているだけで、実際は中央にも大きなウィンドウがあってそこに情報を書き込んでいる
だからその範囲外を超えて描画される事はない
どうしてもというのなら描画範囲を拡大する事も出来るけど、気になるだけなら画像の位置調整で対応してくれ
>あと左名前が映るのでけしたいと思っています!
draw_actor_name( actor, x, y + line_height * 0, width)
の削除、またはコメントアウト できればBustup_1の描画範囲を拡大を行いたいのですが
他のスプリクトが必要になってきますか? よくよく見たら元スクリプトの方ではwindow#opacityは255のままだな
他の箇所で透明度変更してるのか
とりあえずstandard_padding(枠描画の為の余白)を削れば描画範囲は拡大されるが
それ以前に下のゴールド表示ウィンドウとマップ名表示ウィンドウは使用する予定なのか?
描画が被るとかなり見づらくなるが必要ないなら取っ払った方が早いな 下のゴールド表示ウィンドウとマップ名表示ウィンドウは消しました!
standard_paddingを削ると急に画像が映らなくなりました! 元のスクリプトがよく分からない処理をしているな…
下のウィンドウを両方削るならstandard_paddingじゃなくて
#--------------------------------------------------------------------------
# ● ウィンドウ高さの取得
#--------------------------------------------------------------------------
def window_height
Graphics.height - @top_y - fitting_height(1)
end
のfitting_height(1)を削るだけで良い HPの増減をトリガーにしてコモンイベントを起こすことってできませんか?
敵のHPをゲージで表示しようとしてるのですがターン終了後ではなくHPが減ったと同時にゲージも減らしたいのです 全部の攻撃スキルにコモンいれればいいんじゃないの? >>43
敵のHPゲージを表示するのは既存のスクリプトでは何か問題あったの?
「VXAce 敵 hp表示」で検索すればそれなりに出てくると思う。
それで出来ないことがあって独自に作りたいならまた相談に乗る。 >>44
それだと攻撃コマンドに対応できないかなあと
>>45
ピクチャーの上にHPバー表示させたいのです >>46
これじゃだめなんか?
多分中身をぱっと見る限り、敵のグラフィックのサイズを読み取って敵のグラフィックの上の中央を原点にして表示してくれてるっぽい
http://blog.livedoor.jp/kuremente-rgssscript/archives/42815838.html >>47
ありがとうございます
でもこれだとHPゲージがピクチャに隠れてしまうのです >>48
えーと、敵のピクチャとは別になんかピクチャを表示させてて、それに隠れちゃうってこと? >>50
それだとコモンイベントとかの問題じゃない
viewportの問題
内容さっぱり分かんねーなら読み飛ばしていいから最後の部分だけ見て
ゲーム内の画像とか、メッセージを表示するウィンドウはviewportっていうものを持ってて、その中のzって数字の昇順に内容を表示してる
例えば100のzを持つHPゲージと200のzを持つピクチャを同時に表示させると、HPゲージの上にピクチャが表示されてしまってHPゲージが隠れるわけ
基本、バトル中にイベントコマンドもしくはスクリプトで画像を表示しようとした場合「$game_troop.screeen.pictures[任意の数字].show」という変数を弄ることになる
ここでそれぞれ登場したワードを説明すると $game_troop:戦闘で敵に関するデータが集まったもの
screen:画面の状態のデータが集まったもの
picture:画像のデータ
「$game_troop.screen.picture」で戦闘に関するデータの中で画面上の画像のデータ、という意味になる
んで、↑のはSpriteset_Battleという所で全て@viewport2という変数を使われている
@viewport2.zの値は50なので、それが全てのピクチャの表示の優先度というわけになる
んで敵キャラのスプライトは全て@viewport1で作られてて、@viewport.zの値は設定されてないので0となる
ここからが本題なんだけどだいたいのバトル中にHP表示を行うプラグインはviewportに敵キャラの画像と同じ@viewport1を使用してるからピクチャを表示させるとピクチャの後ろに敵とHP表示が隠れてしまう
それを解決するには、HP表示を行っているviewport.zピクチャより優先されれば良いので@viewport3をHP表示に使えばいい
というのがプログラムのお話で、良く分からなかったら↓のテキストファイルをそのまま貼り付けて
##########ここを切り替える!!!!##########
って書いてある所の#を上から下に付け替えて@viewport1を使ってるSprite_Infobar.newを無効にして@viewport3を有効にすればいい
https://drive.google.com/file/d/1WZJ_ySySDQ5XCjWskH6c94H96fr2YB_n/view?usp=drivesdk
↑のはkureって人のスクリプトを流用して改変してるからもし作品として世に出すなら以下の利用規約を参照すること
Readmeに著作権表記をするとか大事なのでよろしくな
http://blog.livedoor.jp/kuremente-rgssscript/archives/1683467.html >>51
おおおおおおおおお
ありがとうございます! SE再生して、その再生が終了するまでウェイトかけたいんですが
ウェイトフレームの設定ではなく
Fiber.yieldを使う感じで出来たりしないんでしょうか?
マップのスクロールのウェイトだとこうやるみたいなんですが
SE再生では同じようにやるにはどうしたらいいのかわからないです
Fiber.yield while $game_map.scrolling? >>53
かなり難しい
何でかっていうと、その$game_mapってやつはグローバル変数(いつでもどこでも呼び出せる変数)で、いつ呼び出されてもいいように常に準備がされている
よって「今スクロールしてる?」みたいな質問に応えられるような受け口を作ることができるし実際に作られている
逆にBGSはAudio.se_playってので動いてるんだけど、これが上の$game_mapみたいに変数として定義して使えるclassじゃなくてmoduleってのでできてるし、しかもそれが組み込みモジュールっていうのでスクリプトエディタから触ることができない >>54
なるほど・・・
SEの長さからフレーム数計算して
普通にウェイトかけるほうが無難ですね
ありがとうございます スキル使用時またはコモンイベント、スクリプトでTPを下げる方法
または敵の攻撃によってTPを下げる方法はないでしょうか
TP0のときでも使用できるようにしたいのでスキルにTP消費設定では不適当なのです
ちなみに $game_actors[1].tp += 50 というスクリプトを見つけたのですがこれはエラー出ました
「スクリプト game_interpreter の1409行目でname errorが発生しました」 となります 新規プロジェクト作ってその方法やってもエラー出ないから何か誤字ってんじゃない? >>56
まずエラー出力スクリプトを導入することをお勧めする
グーグルが自動翻訳してるかもしれんから内容が変な感じだったら英語翻訳に変えてからコピペしてくれ
https://www.tktkgame.com/tkool/vxa/rgss3/errlog_vxa.txt
これを入れた上でエラー情報書いてくれればなんかわかるかもしれん >>57
もう一度入れてみたらできました
凡ミスで申し訳ない お前ら和歌山県出身の下村拓郎様(35歳、元自衛隊)をご存知か、この方は将来素晴しい人物になるから覚えておいて損はないぞ 今スクリプトでWindow_ActorCommandをいじって、戦闘時のアクターコマンドを
戦う
防御
魔法
特技
道具
みたいに、5行分表示したいんだけど
Window_ActorCommandの表示行数の取得を4から5に変更してみたら
ウィンドウのビットマップが途中で切れちゃうんだよね
スクリプトの何処をいじれば、ウィンドウをあと1行分増やせるのかわからない…
どなたかわかる方ご指導いただけませんか? アクターコマンドだけ5行にしたいのであればビューポートなどもいじらねばならぬ
#==============================================================================
# ■ Window_ActorCommand
#------------------------------------------------------------------------------
# バトル画面で、アクターの行動を選択するウィンドウです。
#==============================================================================
class Window_ActorCommand < Window_Command
#--------------------------------------------------------------------------
# ● 表示行数の取得
#--------------------------------------------------------------------------
def visible_line_number
return 5
end
end
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
# バトル画面の処理を行うクラスです。
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 情報表示ビューポートの移動 エイリアス
#--------------------------------------------------------------------------
alias move_info_viewport_5ch move_info_viewport
def move_info_viewport(ox)
move_info_viewport_5ch(ox)
@actor_command_viewport.ox = @info_viewport.ox
end
#--------------------------------------------------------------------------
# ● アクターコマンドウィンドウの作成 エイリアス
# アクターコマンド専用ビューポートの作成
#--------------------------------------------------------------------------
alias create_actor_command_window_5ch create_actor_command_window
def create_actor_command_window
create_actor_command_window_5ch
@actor_command_viewport = Viewport.new
@actor_command_viewport.rect.y = Graphics.height - @actor_command_window.height
@actor_command_viewport.rect.height = @actor_command_window.height
@actor_command_viewport.z = 100
@actor_command_viewport.ox = 64
@actor_command_window.viewport = @actor_command_viewport
end
end おっと、開放は必ずすべし
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 終了処理 エイリアス
# アクターコマンド専用ビューポートを開放
#--------------------------------------------------------------------------
alias terminate_5ch terminate
def terminate
terminate_5ch
@actor_command_viewport.dispose
end
end これ以外にも既存の@info_viewportを改変するのも良い >>64
ありがとうございますッ!
すげぇッ!何してるかわかりそうでわかんなくてちょっとだけわかるッ!
スクリプトに導入して
比較しながら自分でなんとかできるように頑張りますッ!! 正直ここで質問することではないかもしれませんが、ここくらいしかVXAceのスレ見つけられなかったので質問させてください
かなり久しぶりにツクールを開いたのですがVXAceのゲームだけが全て異常なほど重いです
新規プロジェクトで開いたただの大海原を歩くだけでも重いレベルです(大海原でFPS40代、一般的なゲームのマップで30以下 戦闘画面1桁代)
同時にキーの入力情報がずれるのかカーソルキーを長押しすればするほど長時間その方向に入力され続けて制御不能化します(Joytokeyを用いたゲームパッドだと何故かズレは起こりませんでした)
プロパティの画面描画のちらつきもほとんど改善しなかったです
スクリプトを大量に入れてるだろうMVやVXのゲームはちゃんとFPS60でぬるぬる動くのでスペックとかの問題ではなさそうですが改善方法を知っている方はいらっしゃいませんか
VXace自体はsteamで購入したもので、2〜3年前に触ったときは正常に動いていたはずです
スペックはCPU i5-8300H メモリ8GB GPU GTX1060 のゲーミングノートです
おま環でどうしようもないなら諦めて新しいパソコン買うまでVXaceは封印します
スレ汚しすみません >>70
RTPの入れ直しだけでは解決しませんでしたがツクールVxace本体の配置場所をDドライブからCドライブに変えたら解決しました
お騒がせしました... 並列処理でピクチャー1のピクチャーを切り替えて
画面がちらついている演出を表現したいんだが、
文章を表示している途中だけその並列処理イベントの処理が止まってしまう…
なんとかならないだろうか? スクリプト弄って特定の番号のピクチャを常に点滅するように変えては
点滅させたい時はその番号を使うと 「メニューを開く」ってのをすっ飛ばして、
装備ウィンドウを開かせることって出来る?
そこからキャンセルしたらメニュー画面じゃなくてフィールドに戻る感じで。 俺も今日たまたまそれやりたくてググったけどスクリプトコマンドだとキャラを指定できないから素材で入れるしかないらしいよ
やり方あるかもしれないけど >>77
イベントからなら
SceneManager.call(Scene_Equip)
で良いんじゃないの SceneManager.call(Scene_Skill)で特定のスキルタイプだけ表示する方法ないですか? >>80
表示する方法、というかスキルタイプウィンドウを消したいならScene_SkillのUI改造しないと無理でしょ
ヘルプに載ってるスクリプト入門実践編まで修了すれば
自力で改造出来るくらい初歩的なものだから練習がてら読み進めると良い 格ゲーのように自分のHPバーと敵のHPバーを画面上部に表示することは可能でしょうか?
プレイヤーのキャラは全員でなく一人のHPを表示すること前提です そりゃ勿論、出来るか出来ないかで言ったら出来るだろうけど具体的な仕様が分からない事にはなんとも
エネミーの方は一体だけ? ゲージ作り込み始めると際限無さそうだからなんか飽きてきた
基本は大して難しくないからあとはスクリプトリファレンス片手に弄ってくれ
https://wandbox.org/permlink/Qiea2Og5VXMB00jF 敵キャラを作ってるんやが、行動パターンに攻撃が入ってないのに他のスキルを無視してひたすら攻撃してくる…
試しに攻撃を入れてレーティング下げたけど変わらん
MPもたっぷりあるんやがどういうことやろか… スクショでもしてくれんとわからん
恐らくなにか余計な設定してるんだとおもうけど >>89
よく見たらだいぶ前に自動戦闘系スクリプトを導入しててそのせいだったみたいです
すみません、ありがとうございます 挙動がおかしくなったらまず完全新規プロジェクトで再現するか試してみるといい
それで再現しなければ100%スクリプトが悪さしてる 今までは最後に開いたプロジェクトが次回起動時に自動で開いていたのですが
いつのまにかProject3が毎回開くようになっていました
不便なので以前のように戻したいのですが解る方いらしたら方法を教えてください 左上の「ファイル」からプロジェクトを閉じる→プロジェクトを開くで直るんじゃないか
というか直接.projファイルを開くと記憶されない 直にプロジェクト開いてるからその仕様をしらなかった
どこから開いてるんだ >>93
返信ありがとうございます
やってみましたけど直らないですね・・・
>>94
vxaceを開いて ファイル→プロジェクトを開く でやってました 1回フォルダの位置をずらして開けない状態で起動してみたら? >>86
このゲージをピクチャの上に表示することってできますか? スプライトウィンドウはz値で表示優先順位が管理されてるから適当に弄れ
既存のz値はヘルプの「スプライトの管理」に書いてある @main_sprite = Sprite.new
の下に
@main_sprite.z = 101 >>98
>>99
できました!
ありがとうございます