縦画面と横画面を切り替え

構文 system.setScreen(画面モード)
説明 縦画面と横画面を切り替えます。
引数 画面モード: 0 横画面(LANDSCAPE)、1 縦画面(PORTRAIT)
注意事項
1.切り替えた画面の向きは、system.setScreen()命令が実行されるまで維持されます。よって、system.setrun()命令を使って、別プログラムを呼び出したとしても、画面の向きは横向きに戻りません。できれば、アプリ内で画面の向きを初期化してください。
2.画面の向きを変えても、グラフィック画面サイズは変更されません。当然、ワーク画面サイズも変更されません(これはこういう仕様にしました)。canvas.setMainBmp()命令を使ってグラフィック画面サイズを変更しておかないと、縦画面に扁平したグラフィックが表示されます。必要であれば、canvas.setWorkBmp()命令でワーク画面もサイズ変更してください。
3.上記グラフィック画面サイズやワークサイズは、system.setrun()命令で別アプリを起動した場合は、自動的に変更されます。
4.画面の縦横の切り替え時、内部でクリアしますので、再度描画する必要があります。
(4.はコメントから勝手に追加したものです)
戻り値 なし

Luaridaは起動時は横向きで起動します。

------------------------------------------
--縦画面と横画面を切り替えのサンプル setScreen_sample.lua
------------------------------------------
function main()
  canvas.drawCls( color(255,255,255) )
  canvas.drawText("縦画面と横画面を切り替えのサンプル", 0, 0, 24, color(0,0,0))
  canvas.drawText("Luaridaは起動時は横向きで起動、画面タッチで縦画面にします", 0, 50, 24, color(0,0,0))
  touch(3)
  system.setScreen(1)
  --内部グラフィック画面設定の変更
  w,h = canvas.getviewSize()
  canvas.setMainBmp( w, h )
 
  canvas.drawText("画面タッチで横画面にします", 0, 80, 24, color(0,0,0))
  touch(3)
  system.setScreen(0)
  --内部グラフィック画面設定の変更
  w,h = canvas.getviewSize()
  canvas.setMainBmp( w, h )
 
  canvas.drawText("画面タッチで終了します", 0, 130, 24, color(0,0,0))
  touch(3)
end
 
main()
 

以前のバージョンでは、system.setScreen(画面モード)だけで、扁平したグラフィックではありますが画面表示されていました。
今後のバージョンでは、画面の縦横の切り替え時、内部でクリアしますので、再度描画する必要があります

1.luaridaは、必ず横画面で起動します。タッチで縦画面にします。
2.縦画面が表示されました。テキストの画面折り返しを行っていないのではみ出ています。タッチで横画面に戻します。
3.横画面になりました。タッチで終了します。


コメント(最大10行)
  • 「Luaridaの起動時は横向きで起動する」ということを最近知り σ(^_^;)アセアセ...
    サンプルでは起動時は縦横(?)としていましたが修正しました。
    -- (DSLua@wiki) 2011-09-25 10:24:20
  • あっ、どこかの時点で仕様を変更しました。
    理由は縦横の切替をした後、画面クリアしないと、その後の描画がうまくいかないという不具合がでまして、内部でクリアするように仕様を変えました。
    すいません。 -- (たろサ) 2011-10-22 09:27:49
  • 了解しました。 -- (DSLua@wiki) 2011-10-22 09:45:04
名前:
コメント

すべてのコメントを見る



タグ:

+ タグ編集
  • タグ:
最終更新:2011年10月22日 18:00
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。