GameUtil.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * 游戏工具类
  3. * @description
  4. * @author 冯聪
  5. */
  6. export default class GameUtil {
  7. /**获取屏幕尺寸 */
  8. public getWinSize(): cc.Size {
  9. return cc.winSize;
  10. }
  11. /**激活物理系统 */
  12. public enablePhysics() {
  13. cc.director.getPhysicsManager().enabled = true;
  14. }
  15. /**绘制物理信息 */
  16. public debugDrawPhysicsFlag(ifDraw: boolean = false) {
  17. if (ifDraw) {
  18. cc.director.getPhysicsManager().debugDrawFlags =
  19. cc.PhysicsManager.DrawBits.e_aabbBit |
  20. cc.PhysicsManager.DrawBits.e_jointBit |
  21. cc.PhysicsManager.DrawBits.e_shapeBit;
  22. }
  23. else {
  24. cc.director.getPhysicsManager().debugDrawFlags = 0;
  25. }
  26. }
  27. /**获取世界坐标
  28. * @param 需要获取的节点
  29. */
  30. public static getWorldPos(node: cc.Node): cc.Vec2 {
  31. let originX = node.x;
  32. let originY = node.y;
  33. let curNode = node;
  34. while (curNode.parent) {
  35. let parent = curNode.parent;
  36. if (parent.name == 'Canvas') {
  37. break;
  38. }
  39. originX += parent.x;
  40. originY += parent.y;
  41. curNode = parent;
  42. }
  43. return new cc.Vec2(originX, originY);
  44. }
  45. }