CanvasEx.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * 重写Canvas的目的:固定适配方式(宽度适配/高度适配),不可编辑。适配选择的逻辑:
  3. * 如果宽高比超过2,则选择高度固定适配;否则选择宽度固定适配
  4. */
  5. // 设计分辨率
  6. let defaultSize = cc.size(1138, 640);
  7. // 宽度、高度固定适配的分界线
  8. let scaleLimit = defaultSize.width / defaultSize.height;
  9. cc.Class({
  10. editor: {
  11. menu: 'Engine/CanvasEx'
  12. },
  13. extends: cc.Canvas,
  14. properties: {
  15. _designResolution: {
  16. override: true,
  17. visible: false,
  18. default: defaultSize
  19. },
  20. fitHeight: {
  21. override: true,
  22. visible: false,
  23. get: function () {
  24. let frameSize = cc.view.getFrameSize();
  25. return frameSize.width / frameSize.height > scaleLimit;
  26. },
  27. set (value) {}
  28. },
  29. fitWidth: {
  30. override: true,
  31. visible: false,
  32. get: function () {
  33. let frameSize = cc.view.getFrameSize();
  34. return frameSize.width / frameSize.height <= scaleLimit;
  35. },
  36. set (value) {}
  37. }
  38. }
  39. });