例えば、$game_map.events[n].xをArray_Aに代入するとすればどうしたら短く済むでしょうか?
ループ構文なども試しましたがうまくいきませんでした。
例:Array_A = [$game_map.events[1].x,$game_map.events[2].x,$game_map.events[3].x.....]
【解決済み】配列の簡単な作成方法
【解決済み】配列の簡単な作成方法
最後に編集したユーザー ONOZUKA [ 2016年8月28日(日) 23:31 ], 累計 1 回
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
Re: 配列の簡単な作成方法
割と基本的なことなんですけれども、RGSSでは変数名の頭が大文字だと「定数」という扱いになります。
なので、Array_Aというのは定義されると変更できなくなるんですね。
普通であれば、「ローカル変数」か「グローバル変数」に代入等するのがいいと思います(array_Aや$Array_A等)。
これらであればループ構文でも配列の作成がうまくいくのではないでしょうか。
なので、Array_Aというのは定義されると変更できなくなるんですね。
普通であれば、「ローカル変数」か「グローバル変数」に代入等するのがいいと思います(array_Aや$Array_A等)。
これらであればループ構文でも配列の作成がうまくいくのではないでしょうか。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: 配列の簡単な作成方法
教えていただきありがとうございます。配列にこのような仕様があったんですね。
加えて質問させていただきたいのですが、以下のようなスクリプトを作ってみました。
配列を使わず実数値を直接代入すれば表示されないエラーメッセージが以下です。
加えて質問させていただきたいのですが、以下のようなスクリプトを作ってみました。
コード: 全て選択
#===============================================================================
# RGSS3 リージョンチェック Ver1.0a (2016/08/28) by ONOZUKA
#===============================================================================
# 特定の範囲のリージョンIDの個数を出力することができます。
# 改変は自由です。クレジットには制作者名のみ載せてください。
#===============================================================================
# イベントスクリプトにregion_checkといれることで起動します。
# 結果は$game_variables[n] = $count_regionなりで取得してください。
#===============================================================================
Game_Interpreter
def region_check
$search_range = Array.new
$search_interval = Array.new
#特定のリージョンを数える
$search_region = 1
#コンソール画面に出力結果を表示する
$search_console = true
#[0,100,0,200] :X座標は0から100まで,Y座標は0から200までの範囲をチェックする。
$search_range = [0,100,0,200]
# 1,1にすると、範囲中の全タイルを調べる。2,2にすると網目状にチェックする。
$search_interval = [1,1]
#===============================================================================
# エラー回避策
xstart = $seach_range[0]
xlimit = $seach_range[1]
ystart = $seach_range[2]
ylimit = $seach_range[3]
xsplit = $search_interval[0]
ysplit = $search_interval[1]
#===============================================================================
# リージョン走査
xline = xstart #Xの開始値を代入
yline = ystart #Yの開始値を代入
xypos = Array.new #空配列の生成
loop do #ループの開始
xypos << $game_map.region_id(xline,yline) #リージョンIDの取得
yline += ysplit #Y方向走査
if xline > xlimit #X方向走査の初期化判定
break #捜査終了
elsif yline > ylimit #Y方向走査の初期化判定
xline += xsplit #X方向走査
yline = 0 #Y方向走査を初期化
end
end
if $search_console = true then #コンソールへの表示判定
p xypos.count($search_region) #コンソールへの表示
end
$count_region = xypos.count($search_region) #グローバル変数への代入
end
#===============================================================================
原因が分からず困ってます。教えてくだされば幸いです。Game_Interpreter(1409) NoMethodError
undefined method '[]'for nil:NilClass
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
Re: 配列の簡単な作成方法
# エラー回避策 の変数名をよくチェックしてみてください。
ちなみにエラーの内容は「nilオブジェクトに"[]"というメソッドがないよ」ってことです。
まぁ定義されてない変数だから仕方ないですね。
ちなみにエラーの内容は「nilオブジェクトに"[]"というメソッドがないよ」ってことです。
まぁ定義されてない変数だから仕方ないですね。
------------------------------------------------------------------
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
自作の(改造でない)スクリプト、プラグイン素材に
関しては、リードミーもしくは作中に
「faida」と記名していただければ
利用可能です。
Re: 配列の簡単な作成方法
faida様。
ご助言ありがとうございます。誤植だったようで今後とも同じエラーメッセージを見かけたら心がけようと思います。
ご助言ありがとうございます。誤植だったようで今後とも同じエラーメッセージを見かけたら心がけようと思います。
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================
RPGツクールVXACEでゲームを作っているはずです!
HP:http://tenkoma.info Twitter:https://twitter.com/ONOZUKA7
=============================================================================