Search Tutorials
The Actionscript: Shared ObjectFirst we want to make the movieclip box invisible, because it will change depending on the day unless we prefer a particular day. //we make the movieclip box invisible at start _root.box._visible = false; Next we define the shared object. Since we have 7 days we will define one single function and use the weekday as an argument. We could also make one movie with one shared object but that of course would result in 8 movies. We call the function createNewLocal(weekDay). Now we write the code to make our shared object. First we create the instance myLocalSO, which will hold the shared object.
//here we define the general function for the shared object for all days
//and weekDay is our argument
function createNewLocal(weekDay){
//we define the shared object
myLocalSO = sharedobject.getLocal(weekDay);
The contents of myLocalSO will hold the data so we add .data.myText. If there is contents which means myLocalSO.data.myText is not (!=) null, then we want this contents written in the textfield mainText, which is in the movieclip box (_root.box.mainText.text). If we have nothing written in there (else) we want the weekday written upfront. And now comes the cool thing. Because the weekday is also part of the shared object, it will be remembered even the contents is not null and will always be upfront. To have the string weekDay (it is a string because it is in quotations) recognized as a variable we have to use eval. Otherwise the string weekDay instead of the day of the week will be written upfront.
//if we have text in the textfield, we want this text to be memorized.
if (myLocalSO.data.myText != null) {
_root.box.mainText.text = myLocalSO.data.myText;
} else {
//if we have no text (null) then we want the weekday in front.
//weekday is used as a constant or string "weekDay", then we have to
//use eval to evaluate its actual content, since it is a variable.
_root.box.mainText.text = eval("weekDay") +": ";
}
In this final part of the script we introduce a handler for the textfield mainText. In Flash MX there is the action textfield.onChanged, which is invoked when the content of a text field changes. By default, it is undefined but here we define it.
//here we have to make sure that the input text when changed will be our stored data.
_root.box.mainText.onChanged = function() {
myLocalSO.data.myText = _root.box.mainText.text;
}
}
The reset buttonWe create a reset button, which we name resetButton in the name field of the property inspector. This will set the contents of the textfield to null.
//If we want to erase any content we use the reset-button for the main textfield.
_root.box.resetButton.onRelease = function () {
//content is null...
myLocalSO.data.myText = null;
To recover the weekday we put the following action.
//but weekday will be recovered.
_root.box.mainText.text = eval("weekDay") +": ";
}
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|