Total Pageviews

Tuesday, May 27, 2014

នេះជា Type Body របស់ Corona SDK (2)

object.isSensor
វាជា Sensor ដែលជា fixture ដែលស្វែងរក Collisions ប៉ុន្តែមិនបាន response ទេ។ សំរាប់ Sensor នឹងមិនបង្កើត contact points។ វាជា Boolean បើសិនដាក់វាជា true វានឹងការពារនៅ any visible collisions ចាប់ពីការកើតឡើងទៅកាន់ Object ទោះបីជា began & ended collision events នៅតែ fired
ចំណាំះ សំរាប់ version ចាស់របស់ Box2D អាចបញ្ចូលនៅ property នៅក្នុង preCollision listener ក្នុងការបង្កើតនៅ one-sided platform case។ ដែល character នឹងឆ្លងកាត់នៅ platform ក្នុងទិសដៅតែមួយ។ ជំនួសដោយការបញ្ចូលនៅ sensor property ត្រូវតែបញ្ចូលវាទៅជា isEnabled property នៃ physicsContact object
Fixtures:
សូមចំណាំថានៅក្នុង Box2D isSensor គឺជា Property របស់ fixtureដែលនៅក្នុង Corona terms វាជា body element។ វាមិនមែនជា property របស់ entire body ទេ។

object.isSleepingAllowed
វាជា Boolean ថាតើ body ត្រូវបានដាក់ឪ្យ sleep។ ការដែលធ្វើឪ្យ body​ awake មិនត្រូវបានដាក់ធាតំរូវការទេ ពីព្រោះ collisions ជាមួយនឹង bodies នឹងធ្វើឪ្យពួកវាភ្ងាក់។ វាមានប្រយោជន៏ណាស់សំរាប់ការប្រើដូចជា tilt-gravity case (since sleeping bodies do not respond to changes in global gravity) The default is true
សូមមើលកូដះ
myBody.isSleepingAllowed = true
local state = myBody.isSleepingAllowed

object.linearDamping
វាជាតំលៃលេខថាតើ how much body’s linear motion ដែលត្រូវ damp
The default is 0
សូមមើលកូដះ
myBody.linearDamping = 5
local d = myBody.linearDamping
Methods
(Inherits methods from Object)

object:applyAngularImpulse()
វាដូចជា applyTorque, លើកលែងតែ angular impulse គឺជា single, momentary jolt
Syntax: body:applyAngularImpulse (appliedForce)
appliedForce(តំរូវការ) វាជាចំនួនលេខនៃ force to apply
សូមមើលកូដះ
myBody:applyAngularImpulse( 100 )

object:applyForce()
វាជាហ្វាំងសិនដែលទទួលនៅ x & y components របស់ linear force ដែលវា applied នៅចំនុចជាមួយនឹង x & y world coordinates។ បើសិនជា target point គឺជា mass របស់ body’s center វានឹង tend ក្នុងការរុញនៅ body in a straight line; បើសិនជា target ជា offset ចេញពី body’s center of mass the body will spin អំពី its center of mass
សំរាប់ symmetrical objects ចំនុចកណ្តាលរបស់ mass & center របស់ object នឹងមានទីតាំងដូចគ្នា (object.x, objext.y) សូមចំណាំអំពី ចំនួនរបស់ force ដែលត្រូវការ fairly high to move heavy objects
Syntax: body:applyForce (xForce, yForce, bodyX, bodyY)
xForce/ yForce(តំរូវការ) វាជាចំនួនលេខនៃចំនួនរបស់ force ក្នុងការ​ apply នៅក្នង x & y directions respectively
bodyX / body (តំរូវការវាជាចំនួនលេខដែល point នៅលើ Object ក្នុងការ apply force to
myBody:applyForce( 5002000, myBody.x, myBody.y )

object:applyLinearImpulse()
វាដូចជា Body:applyForce() លើកលែងតែ an impulse គឺជា single momentary jolt
Syntax: Body:applyLinearImpulse (xForce, yForce, bodyX, bodyY)
xForce / yForce(តំរូវការ) វាជាចំនួនលេខនៃចំនួនរបស់ force ដែល apply នៅក្នុង X & Y directions respectively
bodyX / body(តំរូវការ)  វាជាចំនួនលេខរបស់ ​​point on the object ក្នុងការ apply force to
សូមមើលកូដះ
myBody:applyLinearImpulse( 600200, myBody.x, myBody.y )

object:applyTorque()
វាជាហ្វាំងសិនដែលទទួលនៅ numerical value សំរាប់ applied rotational force។ សំរាប់ body នឹង rotate អំពី its center of mass
Syntax: Body: applyTorque (appliedForce)
appliedForce(តំរូវការ) វាជាចំនួនលេខដែលជា ចំនួន force to be applied
សូមមើលកូដះ
myBody:applyTorque( 100 )

object:getLinearVelocity()
វាជាហ្វាំងសិនដែលត្រឡប់នៅ x & y components សំរាប់ body’s linear velocity នៅក្នុង pixels per second
Syntax: Body:getLinearVelocity()
សូមមើលកូដះ
local vx, vy = myBody:getLinearVelocity()

object:resetMassData()
បើសិនជាតំលៃដើមរប់ស mass data សំរាប់ body ត្រូវបាន override (TBD) សំរាប់ហ្វាំងសិននេះត្រូវ resets it ទៅជា mass calculated ចេញពី shapes
Syntax: Body:resetMassData()
សូមមើលកូដះ
myBody:resetMassData()
object:setLinearVelocity()
សំរាប់ហ្វាំងសិនដែលទទួលនៅ x & y components សំរាប់ body’s linear velocity, in pixel per second
Syntax: Body:setLinearVelocity (xVelocity, yVelocity)
xVelocity / yVelocity (តំរូវការ) វាជាចំនួនលេខដែលតំលៃរបស់ ​velocity នៅក្នុង X & Y directions respectively
សូមមើលកូដះ
myBody:setLinearVelocity( 24 )

No comments:

Post a Comment