Пример #1
0
		protected bool Init(CCPhysicsBody a, CCPhysicsBody b, float phase, float ratio)
		{
			if (!base.Init(a, b))
				return false;

			cpConstraint joint = new cpGearJoint(GetBodyInfo(a).Body,
												   GetBodyInfo(b).Body,
												   phase, ratio);

			if (joint == null)
				return false;

			_info.Add(joint);


			return true;
		}
Пример #2
0
        protected bool Init(CCPhysicsBody a, CCPhysicsBody b, CCPoint anchr)
		{

			if (!base.Init(a, b))
				return false;

			GetBodyNode(a).Position = anchr;
			GetBodyNode(b).Position = anchr;

			// add a pivot joint to fixed two body together
			//cpConstraint joint = cpPivotJoint.cpPivotJointNew(getBodyInfo(a).getBody(),
			//                                       getBodyInfo(b).getBody(),
			//                                      anchr);

			cpConstraint joint = new cpPivotJoint(GetBodyInfo(a).Body, GetBodyInfo(b).Body, PhysicsHelper.CCPointToCpVect(anchr));

			if (joint == null)
				return false;

			_info.Add(joint);


			// add a gear joint to make two body have the same rotation.
			joint = new cpGearJoint(GetBodyInfo(a).Body, GetBodyInfo(b).Body, 0, 1);

			if (joint == null)
				return false;

			_info.Add(joint);

			SetCollisionEnable(false);

			return true;
		}