Lingo Dictionary > L-N > new() |
![]() ![]() ![]() |
new()
Syntax
new(
type
)
new(
type
, castLib
whichCast
)
new(
type
, member
whichCastMember
of castLib
whichCast
)
variableName
= new(
parentScript
arg1
,
arg2
, ...)
new(script
parentScriptName
,
value1
,
value2
, ...)
timout("
name
").new(
timoutPeriod
,
#timeoutHandler
, {,
targetObject
})
new(xtra "
xtraName
")
Description
Function; creates a new cast member, child object, timeout object, or Xtra instance and allows you to assign of individual property values to child objects.
The Director player for Java supports this function only for the creation of child objects. When a movie plays back as an applet, you can't use the new
function to create cast members.
For cast members, the type
parameter sets the cast member's type. Possible predefined values correspond to the existing cast member types: #bitmap
, #field
, and so on. The new
function can also create Xtra cast member types, which can be identified by any name that the author chooses.
It's also possible to create a new color cursor cast member using the Custom Cursor Xtra. Use new(#cursor)
and set the properties of the resulting cast member to make them available for use.
The optional whichCastMember
and whichCast
parameters specify the cast member slot and Cast window where the new cast member is stored. When no cast member slot is specified, the first empty slot is used. The new
function returns the cast member slot.
When the argument for the new
function is a parent script, the new
function creates a child object. The parent script should include an on new
handler that sets the child object's initial state or property values and returns the me
reference to the child object.
The child object has all the handlers of the parent script. The child object also has the same property variable names that are declared in the parent script, but each child object has its own values for these properties.
Because a child object is a value, it can be assigned to variables, placed in lists, and passed as a parameter.
As with other variables, you can use the put
command to display information about a child object in the Message window.
When new()
is used to create a timeout object, the timoutPeriod sets the number of milliseconds between timeout events sent by the timeout object. The #timoutHandler
is a symbol that identifies the handler that will be called when each timeout event occurrs. The targetObject
identifies the name of the child object that contains the #timeoutHandler
. If no targetObject
is given, the #timeoutHandler
is assumed to be in a movie script.
When a timeout object is created, it enables its targetObject
to receive the system events prepareMovie
, startMovie
, stopMovie
, prepareFrame
, and exitFrame
. To take advantage of this, the targetObject
must contain handlers for these events. The events do not need to be passed in order for the rest of the movie to have access to them.
To see an example of new()
used in a completed movie, see the Parent Scripts, and Read and Write Text movies in the Learning\Lingo Examples folder inside the Director application folder.
Example
To create a new bitmap cast member in the first available slot, you use this syntax:
set newMember = new(#bitmap)
After the line has been executed, newMember
will contain the member reference to the cast member just created:
put newMember -- (member 1 of castLib 1)
Example
This startMovie script creates a new Flash cast member using the new
command, sets the newly created cast member's linked
property so that the cast member's assets are stored in an external file, and then sets the cast member's pathName
property to the location of a Flash movie on the World Wide Web:
on startMovie flashCastMember = new(#flash) member(flashCastMember).pathName = "http://www.someURL.com/myFlash.swf" end
Example
When the movie starts, this handler creates a new animated color cursor cast member and stores its cast member number in a variable called customCursor
. This variable is used to set the castMemberList
property of the newly created cursor and to switch to the new cursor.
on startmovie customCursor = new(#cursor) member(customCursor).castMemberList = [member 1, member 2, member 3] cursor (member(customCursor)) end
Example
These statements from a parent script include the on new
handler to create a child object. The parent script is a script cast member named Bird, which contains these handlers.
on new me, nameForBird return me end on fly me put "I am flying" end
Example
The first statement in the example creates a child object the above script in the preceding example, and places it in a variable named myBird
. The second statement makes the bird fly by calling the fly handler in the Bird parent script:
myBird = script("Bird").new() myBird.fly()
Example
This statement uses a new Bird parent script, which contains the property variable speed
:
property speed on new me, initSpeed speed = initSpeed return me end on fly me put "I am flying at " & speed & "mph" end
Example
These statements create two child objects called myBird1 and myBird2. They are given different starting speeds: 15 and 25, respectively. When the fly handler is called for each child object, the speed of the object is displayed in the Message window.
myBird1 = script("Bird").new(15) myBird2 = script("Bird").new(25) myBird1.fly() myBird2.fly()
This message appears in the Message window:
-- "I am flying at 15 mph" -- "I am flying at 25 mph"
Example
This statement creates a new timout object called intervalTimer that will send a timeout event to the on minuteBeep
handler in the child object playerOne every 60 seconds:
timeout("intervalTimer").new(60000, #minuteBeep, playerOne)
See also
on stepFrame
, actorList
, ancestor
, me
, type (cast member property), timeout()
![]() ![]() ![]() |