Difference between revisions of "LSL touch"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{OSWikiFeatureNav}}
{{OSWikiFeatureNav}}
=== Feature Design Document ===
(none)


=== Functional Spec ===
This page reserved for LSL [[touch]] event
* An object can be designated a touchable object by adding a script that has a touch* event in it, such as the default script does.
* You touch an object by left clicking it while in move mode (ctrl + 2) or in normal mode (ie. if you hit escape, or by right clicking the object, then selecting "touch" from the pie menu.
* Your cursor should turn into a hand icon when you hover it over an object that has a touch* event script on it.
* Touch events will not register if you are in focus(ctrl+1), edit(ctrl+3), create(ctrl+4) or land(ctrl+5) mode.
* Alpha texturing on an object does not affect whether it can be touched. Objects with fully transparent textures will still register clicks.
* You can change the left-click behavior of an object on the general tab of the edit tools.
** "Touch/grab (default)"
** "Sit on object" will cause anyone clicking the object to sit on the object.
** "Buy object" will pop up a buy dialog if the object is for sale.
** "Pay object" will pop up a buy dialog if the object has a [[money]] event in one of its scripts.
** "Open" will open the contents of an object if you have permissions to modify said object.
* Touch allows you to move objects.
* Touching an object should trigger any [[touch]] events on the object.
* Touching and dragging your own object that has touch script and is not physical should NOT move it, even if you have the move tool (ctrl-2) selected.
* Touching and dragging on an object, then releasing should put your cursor back to the same screen coordinates they were at when you first touched the object.
* (you cannot drag a physical and movable object by dragging on a child prim if either the root or child prim has a touch script in it. bug?)
 
=== Test scripts ===
(none)
 
=== Discussion for future improvements ===
(none)
 
=== Relationship to other features ===
<b> List of features that need to be tested when this feature changes, and why. </b>
 
[[llSetTouchText]] - Replace the pie cursor "Touch" label with a user defined label.
 
[[llPassTouches]] - Touch events on a child object should obey [[llPassTouches]] when passing touches to the parent prim.
 
=== User Guides ===
[http://lslwiki.com/lslwiki/wakka.php?wakka=touch touch event on LSLWiki.com]
 
[http://lslwiki.com/lslwiki/wakka.php?wakka=touch_start touch_start event on LSLWiki.com]
 
[http://lslwiki.com/lslwiki/wakka.php?wakka=touch_end touch_end event on LSLWiki.com]

Revision as of 18:02, 4 January 2007