phinajs/phina.js

LoadingScene で lieがfalse (デフォルト)のときロードが完了していないのに、次のシーンへ遷移してしまう

simiraaaa opened this issue · 3 comments

lieがfalseの場合は、gauge.onfullで移動するようにしているため、progressで来る値がおかしいかgaugeのfull判定がおかしいかが原因で、ロード完了前に、100%になってしまい遷移する。
確実にやる方法としては、loader.onloadでやる。

見なおすべき項目

  • loaderのonprogress
  • gauge
  • loadingscene

loader の onprogressが原因でした
原因は、flow.thenが発生するとprogressはcount/flows.lengthになりますが

simiraaaa @simiraaaa 23:17
flowは終了していれば即時発生するため、
spritesheet直書きの場合、
flowsに全てのassetsのflowをpushする前に
こいつだけ、thenが実行されます
その結果flows.lengthは1でcountも1なので1/1 = 100%でprogress上では完了していることになります
onloadは本当に全て終了した時のみ発火するためそちらは問題ありませんでした。

thx