Cocos2d-JSで解像度を起動時も含め固定する

スポンサーリンク

完全に解像度を固定したゲームを作りたいと思って

cc.view.setDesignResolutionSize(800, 450, cc.ResolutionPolicy.SHOW_ALL);
cc.view.resizeWithBrowserSize(false);

とかで解像度を指定しても、ゲーム起動時にウィンドウが小さいと自動でリサイズされてしまいます。

setDesignResolutionSizeの第3引数のResolutionPolicyはContainer strategyとContent strategyの組み合わせであり、Container strategyがEQUAL_TO_FRAMEだと起動時にリサイズしてしまうようなのでORIGINAL_CONTAINERにするといいようです。新たにpolicyを作ってsetDesignResolutionSizeに食わせる必要があります。

    var policy = new cc.ResolutionPolicy(cc.ContainerStrategy.ORIGINAL_CONTAINER, cc.ContentStrategy.SHOW_ALL)
    cc.view.setDesignResolutionSize(800, 450, policy);
    cc.view.resizeWithBrowserSize(false);

とりあえずこれで完全固定解像度になったようです。

参考

Resolution Policy for Cocos2d-JS | Documents | Cocos2d-x

コメント