Event Key
សំរាប់
event មួយនេះកើតឡើងនៅពេលដែល keyboard key or gamepad/ joystick button ត្រូវបានចុចឬមិនចុច។ នៅក្នុង key event listener អាចដាក់វាជា
true ដែលindicate ថាកម្មវិធីដែលនឹង handling ក្នុងការទទួលនៅ key
& overriding ទៅកាន់ operating system។
សំរាប់ android វានឹងត្រឡប់ជា true សំរាប់
back key ដែលនឹងការពារ operating system from
backing our your app។
Android:
វានឹង raises key events សំរាប់គ្រប់ទាំង Keyboard
keys, navigation buttons, volume buttons, gamepad/ joystic buttons។ android វាមិន raise key events សំរាប់ home navigation button, task manager button or power
button
IOS: វាមិន support នៅ key events ទេ
Windows:
សំរាប់ Corona Simulator របស់ windows
វា support តែ key event នៅពេល simulating an android
device។ វា support តែ keyboard keys
& not gamepad joystic buttons
ចំណាំះ
សំរាប់ keyevents
នឹងមិនទទួលបើសិនជា native object ដូចជា TextField,
TextBox or WebView handles them។ វាអាចកើតឡើងបើសិនជា native
objects មានfocus ហើយបើសិនជាវា override
សំរាប់ key នោះ។ ឧះ បើសិនជា TextField
& TextBox handle គ្រប់ទាំង keyboard keys, ការពារកម្មវិធីពីការទទួលនៅ key event ប៉ុន្តែវាមិន
handle a back key event
នេះជា
Properties
របស់វាះ
event.descriptor
event.descriptor
វាអាចអានបាននៅ
string ដែល assigned តាមរយះ Corona ប្រើសំរាប់សំគាល់នៅ input devices។ សំរាប់ descriptor
string ត្រូវបានប្រើជាមួយនឹងកម្មវិធីដែលបញ្ចូលនៅ key &
axis binding
សំរាប់
descriptor
string ត្រូវបានបង្កើតឡើងតាម devices’descriptor & name
of the key ដែលត្រូវចុច ឬមិន។ ឧះ សំរាប់បូតុង២ដែលនៅលើ joystick
អាចជាឈ្មោះ Joystick1: buttonA & joystick2 : button
ចំណាំះ
សំរាប់ descriptor
name វាមិនអាចផ្ទុកនៅ device name បានទេបើសិនជា
key event ត្រូវបានបង្កើតឡើងដោយ software ដូចជា bottom navigation bar shown on screen។ សំរាប់
back key event វាជា key name ដែលត្រូវផ្តល់នៅ
descriptor។ if u press the back key on an andoird
device’s touchscreen then the descriptor name will be back។
សូមមើលកូដះ
--
Called when a key event has been received.
local
function onKeyEvent( event )
-- Print the key's unique descriptor to the
log.
print( event.descriptor )
-- Return false to indicate that this app
is *not* overriding the received key.
-- This lets the operating system execute
its default handling of this key.
return false
end
-- Add
the key event listener.
Runtime:addEventListener(
"key", onKeyEvent );
event.device
វាផ្តល់នៅការ
access ទៅកាន់ device ដែល key event ចេញពី
វាសំរាប់ប្រើជាមួយនឹង
multiplayer
games ដែលមាន input devices ដែលផ្តល់នៅ same
keys/buttons។ វាអាចប្រើនៅ differentiate key events ចេញពី different devices or players
ចំណាំះ
វារត់នៅលើតែ nil on iOS,
Mac & Windows។ ពត័មានអំពី external input devices វាមិន support ទេ។ នៅលើ android this
property will return nil បើសិនជា key event ចេញពី software ដូចជា virtual keyboard or
the bottom virtual navigator bar
event.isAltDown
ប្រើសំរាប់បង្ហាញថា
Alt key
was held down នៅពេលដែល key event កើតឡើង។
ចំណាំថា this property ត្រូវបាន guaranteed ទៅកាន់ return true បើសិនជា key that was
just pressed down was leftAlt or rightAlt
សូមមើលកូដះ
--
Called
when a key event has been received.
local
function onKeyEvent( event )
if event.isAltDown then
-- The Alt key was held down for the given key.
else
-- The Alt key was not held down for the given
key.
end
return false
end
--
Add the
key event listener.
Runtime:addEventListener(
"key", onKeyEvent )
event.isCommandDown
ប្រើសំរាប់បង្ហាញថា
បើសិនជា command
key was held down នៅពេលដែល key event បានកើតឡើង
ចំណាំះ
នៅលើ Mac
OS X វានឹងដំណើរការដូចជា isCtrlDown លើកលែងតែ
command modifier key ។ នៅលើ Windows វាតែងតែ false ពីព្រោះ Platforms មិន support លើ Modifier key
សូមមើលកូដះ
--
Called
when a key event has been received.
local
function onKeyEvent( event )
if event.isCommandDown then
-- The command key was held down for the given
key.
else
-- The command key was not held down for the
given key.
end
return false
end
--
Add the
key event listener.
Runtime:addEventListener(
"key", onKeyEvent )
event.isCtrlDown
ប្រើសំរាប់បង្ហាញបើសិនជា
Control
key was held down នៅពេលដែល key event បានកើតឡើង។
សូមចំណាំថា this property ត្រូវការ guaranteed ទៅកាន់ return true បើសិនជា key ត្រូវបាន pressed down was leftCtrl or rightCtrl
សូមមើលកូដះ
--
Called when a key event has been received.
local
function onKeyEvent( event )
if event.isCtrlDown then
-- The control key was held down for
the given key.
else
-- The control key was not held down
for the given key.
end
return false
end
-- Add
the key event listener.
Runtime:addEventListener(
"key", onKeyEvent )
event.isShiftDown
ប្រើសំរាប់បង្ហាញបើសិនជា
Shift key
was held down or if the Caps Lock key was on at the time នៅពេលដែល
key event បានកើតឡើង។ ចំណាំថាសំរាប់ Property នេះមាន guaranteed to return true បើសិនជា key
pressed down was leftShift rightShift or capsLock
សូមមើលកូដះ
--
Called
when a key event has been received.
local
function onKeyEvent( event )
if event.isShiftDown then
-- Shift was held down for the given key.
else
-- Shift was not held down for the given key.
end
return false
end
--
Add the
key event listener.
Runtime:addEventListener(
"key", onKeyEvent )
event.keyName
នេះជា
unique
string name របស់ key ប្រើសំរាប់កំនត់ identify
which key was pressed down or released។ វានឹងបញ្ចូលនៅ unknown
បើសិនជា Corona មិនអាចកំនត់អត្តសញ្ញាណរបស់ key
បាន។ វាអាចកើតឡើងនៅពេលដែល end user presses a custom OEM
key on a keyborad។
ចំណាំះ
សំរាប់ key
name មិនមែនជាតំណាងឪ្យ character or string ដែលបានកើតនៅពេលដែល
pressing a key។ សំរាប់ key name គឺជា
unique ID assigned to the key ដែលត្រូវបានចុច
សូមមើលកូដះ
--
Called when a key event has been received.
local
function onKeyEvent( event )
-- Print which key was pressed down/up to
the log.
local message = "Key '" ..
event.keyName .. "' was pressed " .. event.phase
print( message )
-- If the "back" key was pressed
on Android, then prevent it from backing out of your app.
if (event.keyName == "back") and
(system.getInfo("platformName") == "Android") then
return true
end
-- Return false to indicate that this app
is *not* overriding the received key.
-- This lets the operating system execute
its default handling of this key.
return false
end
-- Add
the key event listener.
Runtime:addEventListener(
"key", onKeyEvent );
No comments:
Post a Comment