Total Pageviews

Sunday, May 18, 2014

សិក្សាអំពី Event របស់ភាសាឡូអា

Event Axis
Axis events កើតឡើងនៅពេលដែល analog data ត្រូវបានទទួលពី InputDevices’s axis inputs។ ឧទាហរណ៏ បើ axis events នឹងត្រូវបានលើកឡើងនៅពេល joystick ត្រូវបានយកចេញ a gamepad’s analog triggers ត្រូវបានចុចឬ released, mouse ត្រូវបានធ្វើចលនា a scroll wheel has been moved នៅពេលដែលការធ្វើចលនាត្រូវបានរកឃើញនៅលើ touchpad or touchscreen។ ទិន្នន័យនឹងត្រូវបានប្រើដែលតំរូវការ analog controls
ចំណាំះ axis events មានតែលើ android
Properties:
event.axis: វាផ្តល់នៅពត៏មានអំពី axis ដែលនឹងបង្កើត this event។ ពត័មាននេះគឺត្រូវការក្នុងការចំណាំដែល axis input នៅកម្មវិធីដែលបានទទួលទិន្នន័យដូចជា x or y នៃ joystic។ វាផ្តល់នៅ descriptor string ដែលមានតែនៅចន្លោះគ្រប់ទាំង input devices ដែលបានភ្ជាប់ទៅកាន់ system ហើយត្រូវបានភ្ជាប់ input ទៅកាន់ particular player សំរាប់ multiplayer games
event.device ប្រើសំរាប់ផ្តល់នៅការចូលទៅកាន់ device ដែល axis event ចេញមកពី។ សំរាប់ property គឺត្រូវបានប្រើក្នុងការ differentiate axis events ចេញពី different devices or players ដែលត្រូវបាននាំចូលទៅកាន់ multiplayer games
event.name វាជា​String “axis”
event.normalizedValue វាជាតំលៃ scale axis ដែលមិនដែល exceed -1.0 & 1.0 វាត្រូវបានប្រើដូជា scale ដែលអាច apply ទៅលើ velocity vectors សំរាប់ដាក់ objects លើអេក្រង។ នេះជាតំលៃធម្មតាហើយងាយស្រួលច្រើនក្នុងការប្រើជាង rawValue property ពីព្រោះវាមិនអាចធ្វើការជាមួយនឹង varying min/max axis ranges​ ដែលផ្តល់នៅភាពខុសគ្នា input devices ដែលឪ្យកម្មវិធីក្នុងការ handle គ្រប់ទាំង axis data នៅក្នុង uniform manner។ តំលៃធម្មតាគឺចាបពី -1.0 & 1.0 បើសិនជា axis’s min & max properties ជាតំលៃ negative & positive respectly។ នេះគឺជា range ដែលបានប្រើដោយ joysticks & scrool wheels
តំលៃធម្មតាគឺចាប់ពី​0.0 & 1.0 បើសិនជា axis’s min & max properties ជាតំលៃធំជាង ឬស្មើសូន្យ។ វាត្រូវបានប្រើដោយ analog triggers នៅលើ​gamepads, touchscreens, touchpads, mice & trackpads
តំលៃធម្មតាចាប់ពី -1.0 & 0.0 បើសិនជា axis’s min & max properties ដែលតិចជាងឬស្មើសូន្យសំរាប់ gamepad’s analog triggers ពេលខ្លះស្ថិតនៅក្នុង range
event.rawValue វាជា raw value ដែលបានទទួលពី device’s axis input។ តំលៃនេះគឺផ្តល់ជាចេញពី operating system។ សំរាប់តំលៃ raw value គឺគ្មានន័យទេសំរាប់វាផ្ទាល់។ the raw value គឺទាក់ទង់ទៅនឹង​​ axis’ range ហើយត្រូវបានប្រៀធៀបទៅនឹង axis’minValue & maxValue properties ដើម្បីឪ្យមានអាចប្រើបានច្រើន។ សំរាប់តំលៃនៃ axis input អាចជា widly រវាង different device types។ វាសំរាប់ប្រើនៅ touchscreen & touchpads។ ឧទាហរណ៏ បើសិនជា max value សំរាប់ touchscreen ដែលអាចបញ្ចូលនៅទំហំរបស់ screen in pixels។ សំរាប់ touchpads តំលៃរបស់វាបង្ហាញទៅក្នុង pixels & its max range ដែលអាចបញ្ចូលទៅជា arbitrary value តាមរយះ manufacturer
សូមមើលកូដះ
-- Called when an axis event has been received.
local function onAxisEvent( event )
    print( event.axis.descriptor .. ": Normalized Value = " .. tostring(event.normalizedValue) )
end
-- Add the axis event listener.
Runtime:addEventListener( "axis", onAxisEvent )



No comments:

Post a Comment