トップページ > 同人ゲーム > 2008年08月17日 > bmtX8o3e

書き込み順位&時間帯一覧

76 位/1860 ID中時間01234567891011121314151617181920212223Total
書き込み数0010000000000001001001217



使用した名前一覧書き込んだスレッド一覧
名無しさん@お腹いっぱい。
RPGツクールXP/VX初心者質問スレ 5

書き込みレス一覧

RPGツクールXP/VX初心者質問スレ 5
533 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 02:04:37 ID:bmtX8o3e
>532
実行してみると、1行目のところでTypeErrorがでました…。
RPGツクールXP/VX初心者質問スレ 5
544 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 15:02:43 ID:bmtX8o3e
>536
ありがとう、それで出来た。

で。それから色々と試行錯誤してみたんだけど、

・武器1の内容を武器100にコピー (スクリプトで $data_weapons[100] = $data_weapons[1])
・武器100の数を1つ増やす     (イベントコマンドで)

・なぜか武器100の数は増えず、武器1の数が1個増える。

なんでこうなるんだか。
どうやら武器1→武器100にコピーした時に、同期を勝手に取ってくれるみたいなんだ、その結果武器100の数を増やすと
VXの側が気を利かせてくれて武器100じゃなく武器1の方を増やしてくれる。
誰がこういうシステムを考えたのか知らんが、勝手に同期を取らないで欲しい。凄くやりずらい。

RPGツクールXP/VX初心者質問スレ 5
548 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 18:01:15 ID:bmtX8o3e
じゃあ、武器100は武器1じゃなく、同じ性能だけど別の武器ですと定義するにはどうすればいいのだ。

武器1の内容を武器100のところにコピーしたいだけなんだ、で、そのあと武器1の内容は変化させずに、武器100の方だけ値を変化させたいんだよ。
RPGツクールXP/VX初心者質問スレ 5
552 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 21:52:27 ID:bmtX8o3e
>550
早速試してみたんですが、やはり、そのあと武器100を1個増やそうとすると、武器1の方が1個増えてしまいます。

>551
.copyの時点でノーメソッドエラーになりますがな。

コピーというか代入するときにさあ、
a = 100
b = 0
a = b
b = b + 1

とやれば、a = 0 b = 1 じゃん普通。
なぜか そうはならないんだよ、$data_weaponsの場合は。
RPGツクールXP/VX初心者質問スレ 5
554 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 22:25:51 ID:bmtX8o3e
a = $data_weapons[1]
$data_weapons[100] = a

$data_weapons[100].name = "錆びたロングソード"

ってやると、$data_weapons[100].name も $data_weapons[1].name も「錆びたロングソード」になってしまうんだよ。

で、そのあとイベントコマンドで「武器の追加、武器100を1個増やす」を実行すると、武器100じゃなく武器1が追加されてしまう。
この現象を回避したいわけ。
RPGツクールXP/VX初心者質問スレ 5
557 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 22:57:44 ID:bmtX8o3e
>555
a = $data_weapons[1]
$data_weapons[100] = a

$data_weapons[100].id = 100

とやると、$data_weapons[100].idと$data_weapons[1].id の両方が100になりました。
p $data_weapons[100].id 
p $data_weapons[1].id
で、確認したから間違いないです。

うーん、難しい・・・。
RPGツクールXP/VX初心者質問スレ 5
559 :名無しさん@お腹いっぱい。[sage]:2008/08/17(日) 23:20:58 ID:bmtX8o3e
それしかないのかな…
ためしにまとめて代入せず、1個1個やってみました。

def buki_copy
i = $game_variables[1] #copy moto
t = $game_variables[2] #copy saki

$data_weapons[t].id = t
$data_weapons[t].name = $data_weapons[i].name
              〜省略〜
$data_weapons[t].state_set = $data_weapons[i].state_set
end

を、作っておいて。

 変数1に1を代入、変数2に100を代入
 buki_copy
$data_weapons[100].name = "さびたロングソード" 
 p $data_weapons[100].name
p $data_weapons[1].name

・・・!!!
これだと武器100の名前を変更しても同時に武器1の名前が変更されたりしてません!

散々スレッドを騒がしてしまい。すいませんでした。
答えてくれた皆様、どうもありがとうございました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。