複数の透過前景の操作が上手く行かず、ゲームが完成させられない…(質問掲示板)
      投稿: 
 アイネ・レグルス
      投稿:2012/12/17 18:32:17(最新:2012/12/18 09:09:18)
    
    
 アイネ・レグルス
      投稿:2012/12/17 18:32:17(最新:2012/12/18 09:09:18)
    
      複数の透過前景を表示させるスクリプトをやったのですが、フラグやイベントは合っているはずなのに、ロードした時に表示される透過前景が逆になってしまいます…
開始スクリプトに記述したのは
です。
マップ切り替えの中でフラグをonにしたはずなのですが、移動先でセーブした後ロードすると正しいスプライトが表示されません…
どこを改善すればいいのでしょうか?
    
    ツイート
    開始スクリプトに記述したのは
if getFlag("画像切り替え") 
def changeSprite()
   deleteAllSprite()
   setCanvasVisible(true)
   pct = 153793
   s = createSprite(pct)
   setSpriteRect(s,0,0,512,384, 0,0,512,384)
   drawCanvas()
end
else 
def changeSprite()
   deleteAllSprite()
   setCanvasVisible(true)
   pct = 153779
   s = createSprite(pct)
   setSpriteRect(s,0,0,512,384, 0,0,512,384)
   drawCanvas()
 end    
end
です。
マップ切り替えの中でフラグをonにしたはずなのですが、移動先でセーブした後ロードすると正しいスプライトが表示されません…
どこを改善すればいいのでしょうか?
コメントする
コメントするには、ログインする必要があります。
def touka(no) deleteAllSprite() setCanvasVisible(true) #引数の値によって分岐 case no when 0 pct = 153772 #霧50 when 1 pct = 153779 #霧80 when 2 pct = 153786 #火炎 when 3 pct = 153793 #水中 when 4 pct = 104623 #黒50 when 5 pct = 104609 #黒80 when 6 pct = 104609 ; pctt = 153779 ; #黒80+霧80 end s = createSprite(pct) setSpriteRect(s,0,0,512,384, 0,0,512,384) #1番目 if no == 6 s = createSprite(pctt) setSpriteRect(s,0,0,512,384, 0,0,512,384) #2番目(二個同時の時) end drawCanvas() end僕はこんな感じにしました
後ここの部分は必要無いと思うのですが・・・
if getFlag("画像切り替え") #と途中のelseと最後のendでも実はこの問題自己解決していたんですよね…苦笑
ゲームデータロード前に実行されるため
フラグなどを入れていても意味がありません
池ちゃんさんのやり方のように
ユーザ関数に引数を設定する方式で
処理内容を分けるような仕組みを
設定する必要があります