Event Accelerometer របស់ Corona
SDK
នេះជា
event
accelerometer, បន្ទាប់ពីស្វែងយល់អំពី Library របស់ Corona ហើយអ្នកអាចសរសេរ Event ណាមួយដើម្បីឪ្យវាអាចប្រតិបត្តិការណ៏ បាន។ នេះជា Event ដំបូងដែលយើងត្រូវស្វែងយល់ឈ្មោះថា accelerometer (បង្កើនល្បឿន)
event.isShake (boolean)
គេប្រើវានៅពេលដែលអ្នកប្រើ
shakes
the device, តំលៃរបស់វាគឺ true ហើយវាអាស្រ័យលើ
OS/Device
សូមមើលកូដះ
local
function listener( event )
if event.isShake then
print( "The device is being
shaken!" )
end
return true
end
Runtime:addEventListener(
"accelerometer", listener )
event.deltaTime
ពេលជាវិនាទីចាប់តាំងពី last accelerometer
event
ចំណាំះ
ការប្រើ accelerometer
measurements មិនត្រូវបាន recorded នៅពេលដែលម៉ោងពិតបានទេតាមរយះ
system.setAccelerometerInterval() ហ្វាំងសិន។ វាមានន័យថាមិនអាចឪ្យវា
configured interval នៃ 10Hz (ex: 100 milliseconds)
វានឹង Yield measurements ដែលនឹងចំលង ១០០ Milliseconds
យ៉ាងពិត។ ដែល measurements នឹងត្រូវចំលង់។
នេះជាដែនកំនត់របស់ operating system នៅលើ Both IOS
& Android។ ដើម្បីសងវាបាន event.deltaTime វាត្រូវផ្តល់ក្នុងការជួយគិតនៅតំលៃត្រឹមត្រូវ។
event.name
វាប្រើសំរាប់
accelerometer
events សំរាប់ property ដែលត្រូវបញ្ចូលទៅក្នុង
accelerometer
សូមមើលកូដះ
local
function onAccelerate( event )
print( event.name, event.xGravity,
event.yGravity )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.xGravity
វាប្រើសំរាប់ផ្តល់នៅ
acceleration
due ទៅកាន់ gravity ដែលទាក់ទង់នឹង x-axis
របស់ device’s screen ដែលស្ថិតនៅក្នុង portrait
orientation។ តំលៃរបស់វាគឺ “smoothed” ដែលអាស្រ័យលើ
previous accelerometer readings ក្នុងការ reduce a
jittering effect នៅពេលប្រើក្នុងការ manipulate graphics នៅលើអេក្រង។
ចំណំាះ
តំលៃវាតែងតែទាក់ទង់ទៅនឹង device
នៅក្នុង portrait orientation, វាទាក់ទង់នឹង
current orientation របស់កម្មវិធី។ ដូចនេះបើសិនជាកម្មវិធី
ត្រូវបានរត់នៅលើ landscape mode, វាត្រូវការ compensate
៩០ដឺក្រេ
សូមមើលកូដះ
local
function onAccelerate( event )
print( event.name, event.xGravity,
event.yGravity, event.zGravity )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.yGravity
វាប្រើសំរាប់ផ្តល់នៅ
acceleration
due ទៅកាន់ gravity ដែលទាក់ទង់នឹង y-axis
របស់ device’s screen ដែលស្ថិតនៅក្នុង portrait
orientation។ តំលៃរបស់វាគឺ “smoothed” ដែលអាស្រ័យលើ
previous accelerometer readings ក្នុងការ reduce a
jittering effect នៅពេលប្រើក្នុងការ manipulate graphics នៅលើអេក្រង។
ចំណំាះ
តំលៃវាតែងតែទាក់ទង់ទៅនឹង device
នៅក្នុង portrait orientation, វាទាក់ទង់នឹង
current orientation របស់កម្មវិធី។ ដូចនេះបើសិនជាកម្មវិធី
ត្រូវបានរត់នៅលើ landscape mode, វាត្រូវការ compensate
៩០ដឺក្រេ
សូមមើលកូដះ
local function onAccelerate( event )
print( event.name, event.xGravity,
event.yGravity, event.zGravity )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.zGravity
វាប្រើសំរាប់ផ្តល់នៅ
acceleration
due ទៅកាន់ gravity ដែលទាក់ទង់នឹង z-axis
របស់ device’s screen ដែលស្ថិតនៅក្នុង portrait
orientation។ តំលៃរបស់វាគឺ “smoothed” ដែលអាស្រ័យលើ
previous accelerometer readings ក្នុងការ reduce a
jittering effect នៅពេលប្រើក្នុងការ manipulate graphics នៅលើអេក្រង។
ចំណំាះ
តំលៃវាតែងតែទាក់ទង់ទៅនឹង device
នៅក្នុង portrait orientation, វាទាក់ទង់នឹង
current orientation របស់កម្មវិធី។ ដូចនេះបើសិនជាកម្មវិធី
ត្រូវបានរត់នៅលើ landscape mode, វាត្រូវការ compensate
៩០ដឺក្រេ
សូមមើលកូដះ
local function onAccelerate( event )
print( event.name, event.xGravity, event.yGravity,
event.zGravity )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.xInstant
ផ្តល់នៅការផ្លាស់ប្តូរ
acceleration
ដែលទាក់ទង់ទៅនឹង x-axis របស់ screen
device ដែលស្ថិតនៅក្នុង portrait orientation។ តំលៃរបស់វាគឺ xGravity ដកទៅនឹង តំលៃ xGravity
មុនដែលវានឹងផ្តល់នៅ delta acceleration ទាក់ទង់ទៅនឹងសូន្យ។
តំលៃរបស់វានឹងស្វែងរកបើសិនជា device was “jerked” នៅក្នុងទិសដៅណាមួយ
ចំណាំះ
តំលៃនេះតែងតែទាក់ទង់ទៅនឹង device
portrait orientation, ទាក់ទង់នឹង current orientation របស់កម្មវិធី។ បើសិនជាវារត់លើ landscape mode វាត្រូវប្តូរទៅជា
90 ដឺក្រេ។
សូមមើលកូដះ
local
function onAccelerate( event )
print( event.name, event.xInstant,
event.yInstant, event.zInstant )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.yInstant
ផ្តល់នៅការផ្លាស់ប្តូរ
acceleration
ដែលទាក់ទង់ទៅនឹង y-axis របស់ screen
device ដែលស្ថិតនៅក្នុង portrait orientation។ តំលៃរបស់វាគឺ yGravity ដកទៅនឹង តំលៃ yGravity
មុនដែលវានឹងផ្តល់នៅ delta acceleration ទាក់ទង់ទៅនឹងសូន្យ។
តំលៃរបស់វានឹងស្វែងរកបើសិនជា device was “jerked” នៅក្នុងទិសដៅណាមួយ
ចំណាំះ
តំលៃនេះតែងតែទាក់ទង់ទៅនឹង device
portrait orientation, ទាក់ទង់នឹង current orientation របស់កម្មវិធី។ បើសិនជាវារត់លើ landscape mode វាត្រូវប្តូរទៅជា
90 ដឺក្រេ។
សូមមើលកូដះ
local function onAccelerate( event )
print( event.name, event.xInstant,
event.yInstant, event.zInstant )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.zInstant
ផ្តល់នៅការផ្លាស់ប្តូរ
acceleration
ដែលទាក់ទង់ទៅនឹង z-axis របស់ screen
device ដែលស្ថិតនៅក្នុង portrait orientation។ តំលៃរបស់វាគឺ zGravity ដកទៅនឹង តំលៃ zGravity
មុនដែលវានឹងផ្តល់នៅ delta acceleration ទាក់ទង់ទៅនឹងសូន្យ។
តំលៃរបស់វានឹងស្វែងរកបើសិនជា device was “jerked” នៅក្នុងទិសដៅណាមួយ
ចំណាំះ
តំលៃនេះតែងតែទាក់ទង់ទៅនឹង device
portrait orientation, ទាក់ទង់នឹង current orientation របស់កម្មវិធី។ បើសិនជាវារត់លើ landscape mode វាត្រូវប្តូរទៅជា
90 ដឺក្រេ។
សូមមើលកូដះ
local function onAccelerate( event )
print( event.name, event.xInstant,
event.yInstant, event.zInstant )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.xRaw
វាផ្តល់នៅ
acceleration
ទាក់ទង់នឹង x-axis របស់ device’s
screen ដែលស្ថិតនៅក្នុង portrait orientation។ នេះជាច្បាប់របស់ raw value ដែលទទួលបានពី device’s
sensor។ no filtering or smoothing is applied to it។
ចំណាំះ
តំលៃរបស់វាទាក់ទង់នឹង device
portrait orientation, វាទាក់ទង់នឹង current orientation របស់កម្មវិធី។ បើសិនជាកម្មវិធីរត់លើ landscape modeវាត្រូវដាក់ជា 90 degree។
សូមមើលកូដះ
local
function onAccelerate( event )
print( event.name, event.xRaw, event.yRaw,
event.zRaw )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.yRaw
វាផ្តល់នៅ
acceleration
ទាក់ទង់នឹង y-axis របស់ device’s
screen ដែលស្ថិតនៅក្នុង portrait orientation។ នេះជាច្បាប់របស់ raw value ដែលទទួលបានពី device’s
sensor។ no filtering or smoothing is applied to it។
ចំណាំះ
តំលៃរបស់វាទាក់ទង់នឹង device
portrait orientation, វាទាក់ទង់នឹង current orientation របស់កម្មវិធី។ បើសិនជាកម្មវិធីរត់លើ landscape modeវាត្រូវដាក់ជា 90 degree។
សូមមើលកូដះ
local
function onAccelerate( event )
print( event.name, event.xRaw, event.yRaw,
event.zRaw )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )
event.zRaw
វាផ្តល់នៅ
acceleration
ទាក់ទង់នឹង z-axis របស់ device’s
screen ដែលស្ថិតនៅក្នុង portrait orientation។ នេះជាច្បាប់របស់ raw value ដែលទទួលបានពី device’s
sensor។ no filtering or smoothing is applied to it។
ចំណាំះ
តំលៃរបស់វាទាក់ទង់នឹង device
portrait orientation, វាទាក់ទង់នឹង current orientation របស់កម្មវិធី។ បើសិនជាកម្មវិធីរត់លើ landscape modeវាត្រូវដាក់ជា 90 degree។
សូមមើលកូដះ
local
function onAccelerate( event )
print( event.name, event.xRaw, event.yRaw,
event.zRaw )
end
Runtime:addEventListener(
"accelerometer", onAccelerate )