map,panelに関するsafari上の描画問題
投稿者 : 少佐(softbank221105245014.bbtec.net)
- 2019/03/10(Sun) 21:38
No.13881
|
|
|
|
|
tonyu2にてある程度ゲーム作りこんだため、アップロードして動作確認をしようとした際に、2種類問題が生じました。
いずれも「PC使用時のfirefoxおよびChrome」「Android携帯」では発生せず、「iPhone,iPadでサファリ使用時」のみの現象でした。
***************
@マップ使用時の問題 当初マップサイズを48*48pixelのタイルで縦100*横100枚としてゲームを作成したところ、サファリでマップが描画のみされない、というエラーが生じました(当たり判定などはある)。
これに関してマップサイズを徐々に下げていくと縦85*横85枚で普通に表示されるようになりました。
Aパネル使用時の問題 上記の問題が生じたとき、マップ機能そのものがサファリで使用できないのか?と誤認し、すべてPanelで代用しようとしたのですが、ここでも同様に描画上の問題が生じました。
こちらはいくつかパターンを変えて検証したところ、設定しているマップのサイズより少し小さいパネルのサイズで設定しなければ、そのパネルオブジェクトで描画指示しているものがすべて消える、という現象が起きました。 (マップが48*48pixelの50*50枚のときに、パネルが2500*2500のサイズだと描画されない)
こちらはパネルのサイズを小さくすることで正常に描画されました。
***************
どちらも影響範囲がきわめて限定であるほか、回避策も取れらため、いったんは問題がないのですが、同様の現象が起きた方がいらっしゃるかもしれないので、いったん報告させていただきたく。
|
Re: map,panelに関するsafari上の描画問題
投稿者 : hoge1e3(110.116070164.m-net.ne.jp)
- 2019/03/16(Sat) 12:03
No.13882
|
|
|
|
ご報告ありがとうございます。 おそらく、SafariではPanel(で内部で用いているCanvasオブジェクト)全体の大きさに制限があるものと考えられます。 (余談ですが、Androidのスマホでも1000*1000くらいで表示するとかなり動作が重くなることが確認されています)
ご指摘の通り、当面は大きいPanelを小さいPanelに分割して使用していただくのがよいと思います。将来的には自動分割などもできればと考えております。
よろしくお願いいたします。
|
Re: map,panelに関するsafari上の描画問題
投稿者 : マッキー(p2431233-ipngn16401hodogaya.kanagawa.ocn.ne.jp)
- 2020/04/06(Mon) 00:56
No.13915
|
|
|
|
> @マップ使用時の問題
こちらの問題は、2020-0318頃のバージョンで修正をしたので、 お知らせしておきます。
マップの全体の縦pxまたは横pxが大きいとき、Canvasを自動分割して描画するようになりました。(内部では1024pxずつに分割する)ttps://github.com/hoge1e3/Tonyu2/pull/71
> Aパネル使用時の問題
こちらは修正等していません。 今まで通り、2048pxを超えないようにしたり、分割するなどの対処が必要です。
@Aの問題について補足
Tonyu2のマップやPanelは、HTMLのCanvasを使っています。
iOSでは、Canvasが縦または横が2048px以上になると表示できなくなります。 iOSのバージョンによって、4096pxや2048pxと制限が変わるようです。 (古い端末、iPhone5s(iOS8.3)においては1024pxでした)
また、iOSではどのブラウザを使ってもSafariと同じ動作となるため、 どのブラウザを使ってもCanvasの大きさ制限が付きまといます。 (iOSでは、どのブラウザも内部ではWebKitというエンジンを使うようAppleが決めている) ttps://news.mynavi.jp/article/20190331-iphone_why/
|
|