import { Box2DWorld } from '.'; import { AnyObject, Vec2 } from '../physics'; import { Box2DRigidBodyOptions } from './interface'; /**[只读] 指定了该主体所属的碰撞组,默认为0,碰撞规则如下: * 1.如果两个对象group相等 * group值大于零,它们将始终发生碰撞 * group值小于零,它们将永远不会发生碰撞 * group值等于0,则使用规则3 * 2.如果group值不相等,则使用规则3 * 3.每个刚体都有一个category类别,此属性接收位字段,范围为[1,2^31]范围内的2的幂 * 每个刚体也都有一个mask类别,指定与其碰撞的类别值之和(值是所有category按位AND的值) */ export declare class Box2DRigidBody { private _world; private _body; get instance(): AnyObject; private get _box2d(); private get _tempVector(); private get _tempVector2(); private get _tempBodyDef(); private get _pixelRatio(); private get _tempFixtureDef(); private _fixtures; constructor(box2dWorld: Box2DWorld, options: Box2DRigidBodyOptions); private _createRectShape; private _createCircleShape; private _processPoints; private _createChainShape; private _createEdgeShape; private _createPolygonShape; private _createShape; private _createFixtures; private _getMotivationType; private _shapeOptions; private _isSensor; private _friction; private _density; private _restitution; private _group; private _mask; private _category; private _getFixtureDef; private _init; setIsKinematic(value: boolean): void; setGravityScale(value: number): void; /**获得刚体质量*/ getMass(): number; getPosition(): Vec2; getRotation(): number; getTransform(): { position: Vec2; rotation: number; }; applyForce(force: Vec2, relPoint?: Vec2): void; applyImpulse(impulse: Vec2, relPoint?: Vec2): void; clearForces(): void; setTransform(position: Vec2, rotation: number): void; setPosition(x: number, y: number): void; setRotation(rotation: number): void; setAngularVelocity(value: number): void; setLinearVelocity(x: number, y: number): void; setDensity(value: number): void; isAwake(): any; awake(): void; sleep(): void; setFriction(value: number): void; setRestitution(value: number): void; setIsSensor(value: boolean): void; setCollisionFlag({ group, mask, category }: { group?: number; mask?: number; category?: number; }): void; getWorldCenter(): number[]; setScale(scaleX: number, scaleY: number): void; }