拡張機能移動(質問掲示板)
投稿: なとおとき
投稿:2012/01/26 21:32:26(最新:2012/01/29 03:07:29)
ノベルゲームで
このスプリクトを実行した瞬間にそのスプライトが、
ぱっと消えてしまいます。
エラー文はありません
何とか移動させたいのですが...
どう直せばいいでしょうか
ツイート
tekix = 800 - 32 * 9 #スプライト座標変更用変数設定 tekiy = 32 * 4 purasu = 1 while tekiy < 32 * 8 #決まった座標に移動するまで繰り返し if tekiy < 32 * 8 purasu = 1 elsif tekiy > 32 * 8 purasu = - 1 end tekiy = tekiy + purasu #スプライト座標変更 setSpritePosition(teki1, tekix, tekiy) drawCanvas() #描画 waitTime(1) #時間待ち end
このスプリクトを実行した瞬間にそのスプライトが、
ぱっと消えてしまいます。
エラー文はありません
何とか移動させたいのですが...
どう直せばいいでしょうか
コメントする
コメントするには、ログインする必要があります。
コメント一覧
画面外に表示されています。
画像を準備するsetSpriteRect関数で設定されている
画像の切り取り場所は
0, 0の32×32サイズ
画像の貼り付け場所は
800 - 32 * 9, 32 * 4の32×32サイズ
画像の表示位置を設定するsetSpritePosition関数で設定されている
画像の表示位置は
初期値で800 - 32 * 9, 32 * 4
合計してみると、
画像0, 0の32×32サイズを1024, 256の位置に32×32サイズで描画する
という状態になっています。
ノベルの画面サイズは横800×縦600なので、
よって、画面より右側の外に表示されています。
画像を準備するsetSpriteRect関数で設定されている
画像の切り取り場所は
0, 0の32×32サイズ
画像の貼り付け場所は
800 - 32 * 9, 32 * 4の32×32サイズ
画像の表示位置を設定するsetSpritePosition関数で設定されている
画像の表示位置は
初期値で800 - 32 * 9, 32 * 4
合計してみると、
画像0, 0の32×32サイズを1024, 256の位置に32×32サイズで描画する
という状態になっています。
ノベルの画面サイズは横800×縦600なので、
よって、画面より右側の外に表示されています。
haikei = createSprite(103413) #背景 setSpriteRect(haikei, 0, 0, 800, 600, 32 * 7, 32 * 4, 800 - 32 * 14, 600 - 32 * 8) setSpriteZOrder(haikei, 1) miti1 = createSprite(103420) #道 miti2 = createSprite(103420) miti3 = createSprite(103420) miti4 = createSprite(103420) miti5 = createSprite(103420) miti6 = createSprite(103420) miti7 = createSprite(103420) setSpriteRect(miti1, 0, 0, 32, 32, 800 - 32 * 9 , 32 * 4, 32 , 32 * 5) setSpriteRect(miti2, 0, 0, 32, 32, 800 - 32 * 15 , 32 * 9, 32 * 7, 32) setSpriteRect(miti3, 0, 0, 32, 32, 800 - 32 * 15 , 32 * 6, 32 , 32 * 3) setSpriteRect(miti4, 0, 0, 32, 32, 800 - 32 * 17 , 32 * 6, 32 * 2, 32 * 1) setSpriteRect(miti5, 0, 0, 32, 32, 800 - 32 * 17 , 32 * 7, 32 * 1, 32 * 6) setSpriteRect(miti6, 0, 0, 32, 32, 800 - 32 * 16 , 32 * 12, 32 * 7, 32 * 1) setSpriteRect(miti7, 0, 0, 32, 32, 800 - 32 * 10 , 32 * 13, 32 * 1, 28 * 2) setSpriteZOrder(miti1, 3) setSpriteZOrder(miti2, 3) setSpriteZOrder(miti3, 3) setSpriteZOrder(miti4, 3) setSpriteZOrder(miti5, 3) setSpriteZOrder(miti6, 3) setSpriteZOrder(miti7, 3) teki1 = createSprite(103481) #敵 setSpriteRect(teki1, 0, 0, 32, 32, 800 - 32 * 9, 32 * 4, 32, 32) setSpriteZOrder(teki1, 5) setCanvasVisible(true) drawCanvas() waitTime(1000) tekix = 800 - 32 * 9 tekiy = 32 * 4 purasu = 1 while tekiy < 32 * 8 if tekiy < 32 * 8 purasu = 1 elsif tekiy > 32 * 8 purasu = - 1 end tekiy = tekiy + purasu setSpritePosition(teki1, tekix, tekiy) waitTime(1) end
全体のスプリクトはこんな感じです。
((φ( ̄ー ̄ )