Functional Methods Overview

• The Methods panel of the Alice 3 Code Editor contains the tiles used for the creation of the program code.

• The Methods panel has two tabbed sections, Procedures and Functions.

• Functions can generally be described as methods that that ask a question or compute a value.


Procedural Methods and the Object Menu

• The Functions tab will display the functions available for the object selected in the Object Menu found at the top of the methods panel.  

• The Objects Menu displays the objects that have been added to the scene. 

• It should be noted that the keyword this refers to the Scene object.

• Different objects may have different functional methods available to them. 


Procedural Methods and the Editor 

• The Editor provides a drag-and-drop environment where functional method tiles are dragged into the edit space..  

o Unlike procedures, however, functions are not standalone instructions but rather are expressions that generate a value that can be used as arguments to procedures or other expressions.

o To add a function to your program all you need to do is drag it into the code editor panel to the appropriate location for the argument.

o Alice will highlight valid locations for the function.

• When a function is added to the code editor a series of sub-menus may appear depending on the arguments required.  

o Default values have been added to the drop down but there will also be a custom input option that allows you to type or use a number input to choose your own value.  

o Alice requires you to fill these out so that the code is always complete and functional.  


Editing a Functional Method

• Functions may be modified by clicking on the yellow argument components that have a small arrow next to them.  Selecting these components will bring up a drop-down menu showing the available options for substitution.

• A function may be deleted from the editor by replacing it with a different value, expression or function call.

• Right-clicking on a procedural instruction tile in the editor will provide replacement options, or you may drag and drop another function into its place 


Categories of Functional Methods

• Appearance / Size – referring to properties of the selected character or prop.

• Prompt user – allow the program to ask the user to provide information from the keyboard for more interactive programs.

• Position – provide information about an objects location in the scene, either its distance from other objects or where it is in relationship to other objects

o It should be noted that the getDistanceTo function will return the distance, in meters form the center point of one object to the center point of the target object

o The other distance functions (getDistanceAbove, getDistanceToTheRightOf, etc) are dependant on the orientation of the respective objects

• Other – provides useful information about the properties of an object, or its relationship to other objects

• Joint – functions that return the specified joint of an object.  Access to these joints is used primarily to animate parts of a character or object.