ノベルゲームのアクション(2)(質問掲示板

投稿: Edamame icon mini 茹で小豆 投稿:2013/07/30 19:06:30(最新:2013/07/30 22:12:30)
連続ですいません・・・。
http://create.rmake.jp/materials/183289のキャラクターと
http://rmake.jp/published_items/22278の背景で
ノベルのアクションゲームをつくっていたのですが


#メニュー項目等の表示OFF
setMenuItemVisible(getMenuBackLog(), false);setMenuItemVisible(getMenuSave(), false);setMenuItemVisible(getMenuLoad(), false);setHelpVisible(false)

#キャンバスの初期化
setCanvasVisible(false)
deleteAllSprite()
drawCanvas()



#キャラクター画像の設定
img_char_no = 191192

img_char = createSprite(img_char_no)



get_x=0get_y=0get_h=64get_w=64set_x=0set_y=0set_h=64set_w=64


set_z = 7

pos_x = 368
pos_y = 500

setSpriteRect(img_char, get_x, get_y, get_w, get_h, set_x, set_y, set_w, set_h)
setSpriteZOrder(img_char, set_z)
setSpritePosition(img_char, pos_x, pos_y)
#背景画像の設定
img_bg_no =76800

img_bg = createSprite(img_bg_no)

get_x = 0
get_y = 0
get_w = 800
get_h = 600

set_x = 0
set_y = 0
set_w = 800
set_h = 600

set_z = 1

pos_x = 0
pos_y = 0

setSpriteRect(img_bg, get_x, get_y, get_w, get_h, set_x, set_y, set_w, set_h)
setSpriteZOrder(img_bg, set_z)
setSpritePosition(img_bg, pos_x, pos_y)



#画面の更新
drawCanvas()
setCanvasVisible(true)

#キー入力フラグの設定
key_flg_left = false; key_flg_right = false
key_flg_up = false; key_flg_down = false
key_flg_z = false


#定数の設定
char_speed = 10
char_w_max = 800 - 64; char_h_max = 600 - 64
char_anime_change = 3


#変数の設定
char_anime_count = 0


#画面の更新
drawCanvas()
setCanvasVisible(true)


startInput() #入力受付の開始

#メインループの開始
mainloop = true
while mainloop

#キー入力の判定
while hasInput()
takeInput()
#----- キー入力の判定処理を入れる場所 -----
if isKeyDown("LEFT")
key_flg_left = true
elsif isKeyUp("LEFT")
key_flg_left = false
elsif isKeyDown("RIGHT")
key_flg_right = true
elsif isKeyUp("RIGHT")
key_flg_right = false
elsif isKeyDown("UP")
key_flg_up = true
elsif isKeyUp("UP")
key_flg_up = false
elsif isKeyDown("DOWN")
key_flg_down = true
elsif isKeyUp("DOWN")
key_flg_down = false
elsif isKeyDown("Z")
key_flg_z = true
elsif isKeyUp("Z")
key_flg_z = false
end
end

#----- ゲームのメイン処理を入れる場所 -----
#(ゲームの終了時はmainloopをfalseに)

#----- キャラクターの移動 -----
if key_flg_left
#左
pos_char_x = pos_char_x - char_speed
if pos_char_x < 0
pos_char_x = 0
end
setSpritePosition(getVariable(img_char_name),
pos_char_x, pos_char_y)
elsif key_flg_right
#右
pos_char_x = pos_char_x + char_speed
if pos_char_x > char_w_max
pos_char_x = char_w_max
end
setSpritePosition(getVariable(img_char_name),
pos_char_x, pos_char_y)
end

if key_flg_up
#上
pos_char_y = pos_char_y - char_speed
if pos_char_y < 0
pos_char_y = 0
end
setSpritePosition(getVariable(img_char_name),
pos_char_x, pos_char_y)
elsif key_flg_down
#下
pos_char_y = pos_char_y + char_speed
if pos_char_y > char_h_max
pos_char_y = char_h_max
end
setSpritePosition(getVariable(img_char_name),
pos_char_x, pos_char_y)
end





#----- 画面の更新 -----
drawCanvas()

waitTime(30)
end

endInput() #入力受付の終了
goEnding() #ゲームのクリア

でテストプレーしたら
line: 129 not defined variable : pos_char_x
line: 133 not defined variable : img_char_name
line: 133 not defined variable : pos_char_y
setSpritePositionに不正なハンドルが指定されました。ハンドルnullは無効です。 line : 133
line: 133 not defined variable : img_char_name
line: 133 not defined variable : pos_char_y
setSpritePositionに不正なハンドルが指定されました。ハンドルnullは無効です。 line : 133

とエラりました。すごく長文ですみません。

改善法を教えてください

コメントする

コメントするには、ログインする必要があります。

コメント一覧

User icon mini 退会したユーザー(投稿日:2013/07/30 19:35, 履歴)
理解もせずにコピペでどうにかしようとするから…

not defined variable → 中身を与えていない変数が使われた

あとは色々と調べるなり自分で考えるなりしないと
いつまで経っても作れるようになりませんよ
Edamame icon mini 茹で小豆(投稿日:2013/07/30 22:12, 履歴)
ありがとうございます!
Cdv30200 aoi icon mini aoihikawa(投稿日:2013/07/30 19:23, 履歴)
スクリプトを記述する場合は
Rmake記法を利用すると
分かりやすくなります
Edamame icon mini 茹で小豆(投稿日:2013/07/30 19:08, 履歴)
startInput() #入力受付の開始
からを消してテストプレーしてみたら異常なしでした。
startInput() #入力受付の開始
からがエラー発生源だと思います