コメント

このコメントは、【トピック】透過画像 セーブ・ロードへのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/01/28 23:01/28/12)
まずスクリプトは以下の通り


開始スクリプト
def changeSprite()
  deleteAllSprite() 
  setCanvasVisible(true)
  pct = 104560 #黒中空_100
  s = createSprite(pct) 
  setSpriteRect(s,0,0,512,384, 0,0,512,384) 
  drawCanvas()
end


自動実行イベント:実行条件「!(getCanvasVisible())」
changeSprite()


他のマップへ移動するイベント
  deleteAllSprite()
  setCanvasVisible(false)



こうすることで、スクリプトの流れは
次のようになります。

  • 開始スクリプト changeSprite()ユーザ関数が作られる
  なお、ユーザ関数の作成時は関数の内容は実行されない

  • マップを移動 自動実行イベントの開始判定

  • 前景が表示できる状態になっていないため
  changeSprite()関数を呼び出す処理が実行される

  • 開始スクリプトのchangeSprite()関数に入る
  前景画像が表示される

  • セーブ/ロードする

  • マップロード完了後、自動実行イベントの開始判定

  • 前景が表示できる状態は保存されないため
  changeSprite()関数を呼び出す処理が実行される

  • 開始スクリプトのchangeSprite()関数に入る
  前景画像が表示される

  • 他のマップへ移動するイベントで
  前景が表示できる状態を解除する



なお、関数の引数を利用することで
さらに利便性を上げることも可能です

def changeSprite(no)
  deleteAllSprite() 
  setCanvasVisible(true)
  
  #引数の値によって分岐
  pct = null #なし
  case no
  when 0
    pct = 104560 #黒中空_100
  when 1 
    pct = 104574 #黒中空_90 
  when 2 
    pct = 104581 #黒中空_80 
  when 3 
    pct = 104588 #黒中空_70 
  end 
  
  s = createSprite(pct) 
  setSpriteRect(s,0,0,512,384, 0,0,512,384) 
  drawCanvas()
end


自動実行イベント:実行条件「!(getCanvasVisible())」
changeSprite(1) #黒中空_90を表示する

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/01/28 23:01/28/12)
まずスクリプトは以下の通り


開始スクリプト
def changeSprite()
  deleteAllSprite() 
  setCanvasVisible(true)
  pct = 104560 #黒中空_100
  s = createSprite(pct) 
  setSpriteRect(s,0,0,512,384, 0,0,512,384) 
  drawCanvas()
end


自動実行イベント:実行条件「!(getCanvasVisible())」
changeSprite()


他のマップへ移動するイベント
  deleteAllSprite()
  setCanvasVisible(false)



こうすることで、スクリプトの流れは
次のようになります。

  • 開始スクリプト changeSprite()ユーザ関数が作られる
  なお、ユーザ関数の作成時は関数の内容は実行されない

  • マップを移動 自動実行イベントの開始判定

  • 前景が表示できる状態になっていないため
  changeSprite()関数を呼び出す処理が実行される

  • 開始スクリプトのchangeSprite()関数に入る
  前景画像が表示される

  • セーブ/ロードする

  • マップロード完了後、自動実行イベントの開始判定

  • 前景が表示できる状態は保存されないため
  changeSprite()関数を呼び出す処理が実行される

  • 開始スクリプトのchangeSprite()関数に入る
  前景画像が表示される

  • 他のマップへ移動するイベントで
  前景が表示できる状態を解除する



なお、関数の引数を利用することで
さらに利便性を上げることも可能です

def changeSprite(no)
  deleteAllSprite() 
  setCanvasVisible(true)
  
  #引数の値によって分岐
  pct = null #なし
  case no
  when 0
    pct = 104560 #黒中空_100
  when 1 
    pct = 104574 #黒中空_90 
  when 2 
    pct = 104581 #黒中空_80 
  when 3 
    pct = 104588 #黒中空_70 
  end 
  
  s = createSprite(pct) 
  setSpriteRect(s,0,0,512,384, 0,0,512,384) 
  drawCanvas()
end


自動実行イベント:実行条件「!(getCanvasVisible())」
changeSprite(1) #黒中空_90を表示する