Tommyfied
%Europe/Berlin %899 %2005, 22:34
Ik heb een 3tal classes gemaakt die samen een soort van standaard xml menu vormen. Hiermee kun je met behulp van een button MovieClip en een XML file een heel menu in elkaar zetten wat behoorlijk aanpasbaar is.
Het is op zich vrij simpel in het gebruik en heb dan ook niet de hele code gecomment. Mocht iemand toch problemen hebben met het gebruik ervan, post hier je vraag en ik zal kijken wat ik kan doen.
Waarschuwing: het is opzich vrij simpel maar ook weer niet zo dat iedereen die nog maar net met Actionscrip bezig is het simpel kan gebruiken, laat staan begrijpen. Houd hier dus rekening mee.
Ok daar komtie dan:
Class 1: GenericButton
Deze class zorgt ervoor dat een MovieClip als Button kan fungeren. Deze class wordt gebruikt in de GenericMenu class die hierna volgt. Je kan deze class ook op zichzelf gebruiken.
code:
class GenericButton
{
private var buttonHolder: MovieClip;
private var buttonScope: MovieClip;
private var buttonClip: String;
private var buttonDepth: Number;
private var buttonTextField: String;
private var buttonLabel: String;
private var buttonSize: Object;
private var buttonPosition: Object;
private var buttonTarget: Object;
public function GenericButton (buttonScope: MovieClip, buttonClip: String, buttonDepth: Number, buttonTextField: String, buttonLabel: String, buttonSize: Object, buttonPosition: Object, buttonTarget: Object)
{
init(buttonScope, buttonClip, buttonDepth, buttonTextField, buttonLabel, buttonSize, buttonPosition, buttonTarget);
};
private function init (buttonScope: MovieClip, buttonClip: String, buttonDepth: Number, buttonTextField: String, buttonLabel: String, buttonSize: Object, buttonPosition: Object, buttonTarget: Object): Void
{
setButtonScope(buttonScope);
setButtonClip(buttonClip);
setButtonDepth(buttonDepth);
setButtonTextField(buttonTextField);
setButtonLabel(buttonLabel);
setButtonSize(buttonSize);
setButtonPosition(buttonPosition);
setButtonTarget(buttonTarget);
displayButton();
startListeners();
};
private function displayButton (Void): Void
{
buttonHolder = getButtonScope().attachMovie(getButtonClip(), "button"+getButtonDepth(), getButtonDepth());
var buttonSize: Object = getButtonSize();
buttonHolder._width = buttonSize.w;
buttonHolder._height = buttonSize.h;
var buttonPosition: Object = getButtonPosition();
buttonHolder._x = buttonPosition.x;
buttonHolder._y = buttonPosition.y;
buttonHolder[buttonTextField].text = getButtonLabel();
};
private function startListeners (Void): Void
{
var classReference: GenericButton = this;
buttonHolder.onRelease = buttonHolder.onReleaseOutside = classReference.onClick
buttonHolder.onRollOver = buttonHolder.onDragOver = classReference.onRollOn
buttonHolder.onRollOut = buttonHolder.onDragOut = classReference.onRollOff
};
public function onClick (Void): Void
{
buttonHolder.gotoAndPlay("#click");
var buttonTarget: Object = getButtonTarget();
if (buttonTarget.linkType == "frame") eval(buttonTarget.scope).gotoAndPlay(buttonTarget. destination);
else if (buttonTarget.linkType == "url") getURL(buttonTarget.destination);
};
public function onRollOn (Void): Void
{
buttonHolder.gotoAndPlay("#rollOn");
};
public function onRollOff (Void): Void
{
buttonHolder.gotoAndPlay("#rollOff");
};
public function getButtonScope (Void): MovieClip
{
return buttonScope;
};
public function setButtonScope (buttonScope: MovieClip): Void
{
if (buttonScope) this.buttonScope = buttonScope;
};
public function getButtonClip (Void): String
{
return buttonClip;
};
public function setButtonClip (buttonClip: String): Void
{
if (buttonClip) this.buttonClip = buttonClip;
};
public function getButtonDepth (Void): Number
{
return buttonDepth;
};
public function setButtonDepth (buttonDepth: Number): Void
{
this.buttonDepth = buttonDepth;
};
public function getButtonTextField (Void): String
{
return buttonTextField;
};
public function setButtonTextField (buttonTextField: String): Void
{
if (buttonTextField) this.buttonTextField = buttonTextField;
};
public function getButtonLabel (Void): String
{
return buttonLabel;
};
public function setButtonLabel (buttonLabel: String): Void
{
if (buttonLabel) this.buttonLabel = buttonLabel;
};
public function getButtonSize (Void): Object
{
return buttonSize;
};
public function setButtonSize (buttonSize: Object): Void
{
if (buttonSize.w && buttonSize.h) this.buttonSize = buttonSize;
};
public function getButtonPosition (Void): Object
{
return buttonPosition;
};
public function setButtonPosition (buttonPosition: Object): Void
{
this.buttonPosition = buttonPosition;
};
public function getButtonTarget (Void): Object
{
return buttonTarget;
};
public function setButtonTarget (buttonTarget: Object): Void
{
if (buttonTarget) this.buttonTarget = buttonTarget;
};
}
gebruik:
In eerste instantie wordt deze gebruikt in de GenericMenu class / bijbehorende xml file en hoef je je er geen zorgen over te maken.
Als je hem los wil gebruiken is hier een voorbeeldje van hoe je hem aanroept:
var firstButton: GenericButton = new GenericButton(this, "sampleItemLinkID", 100, "labelText", "This will point to another frame", {w: 250, h: 24}, {x: 100, y: 150}, {linkType: "frame", scope: this, destination: "#after"});
Je moet dan wel een MovieClip hebben in je library met als linkage id "sampleItemLinkID" en met een dynamic textfield erin met de instancename "labeltext".
Class 2: GenericMenu
Deze class zorgt ervoor dat er een bepaald aantal GenericButton's worden aangemaakt en die op de juiste manier worden gepositioneerd en de juiste parameters meekrijgen. Deze class is afhankelijk van de class hieronder: GenericMenuXMLSource.
code:
class GenericMenu
{
private var menuHolder: MovieClip;
private var menuScope: MovieClip;
private var menuClip: String; // linkage ID to empty MovieClip
private var menuDepth: Number;
private var menuLabel: String;
private var menuSource: Object; // buttonClips, buttonDepths, buttonTextFields, buttonLabels, buttonSizes, buttonSpacing, buttonTargets (xml or manual)
private var menuPosition: Object; // w, h
private var menuDirection: String; // "horizontal" or "vertical"
public function GenericMenu (menuScope: MovieClip, menuClip: String, menuDepth: Number, menuLabel: String, menuSource: Object, menuPosition: Object, menuDirection: String)
{
init(menuScope, menuClip, menuDepth, menuLabel, menuSource, menuPosition, menuDirection);
};
public function init (menuScope: MovieClip, menuClip: String, menuDepth: Number, menuLabel: String, menuSource: Object, menuPosition: Object, menuDirection: String): Void
{
setMenuScope(menuScope);
setMenuClip(menuClip);
setMenuDepth(menuDepth);
setMenuLabel(menuLabel);
setMenuSource(menuSource);
setMenuPosition(menuPosition);
setMenuDirection(menuDirection);
displayMenu();
};
public function displayMenu (Void): Void
{
var buttonHolders: Array = new Array();
var buttonClips: Array = getMenuSource().buttonClips;
var buttonDepths: Array = getMenuSource().buttonDepths;
var buttonTextFields: Array = getMenuSource().buttonTextFields;
var buttonLabels: Array = getMenuSource().buttonLabels;
var buttonSizes: Array = getMenuSource().buttonSizes;
var buttonSpacing: Number = getMenuSource().buttonSpacing;
var buttonTargets: Array = getMenuSource().buttonTargets;
menuHolder = getMenuScope().attachMovie(getMenuClip(), getMenuLabel(), getMenuDepth());
var menuPosition: Object = getMenuPosition();
menuHolder._x = menuPosition.x;
menuHolder._y = menuPosition.y;
var buttonPositions: Array = new Array();
var menuDirection: Object = getMenuDirection();
var menuLength: Number = buttonClips.length;
for (var i: Number = 0; i < menuLength; ++i)
{
buttonPositions[i] = new Object();
if (menuDirection == "horizontal")
{
buttonPositions[i].x = i * (buttonSizes[i].w + buttonSpacing);
buttonPositions[i].y = 0;
}
else if (menuDirection == "vertical")
{
buttonPositions[i].x = 0;
buttonPositions[i].y = i * (buttonSizes[i].h + buttonSpacing);
}
buttonHolders[i] = new GenericButton (menuHolder, buttonClips[i], buttonDepths[i], buttonTextFields[i], buttonLabels[i], buttonSizes[i], buttonPositions[i], buttonTargets[i]);
};
};
public function getMenuScope (Void): MovieClip
{
return menuScope;
};
public function setMenuScope (menuScope: MovieClip): Void
{
if (menuScope) this.menuScope = menuScope;
};
public function getMenuClip (Void): String
{
return menuClip;
};
public function setMenuClip (menuClip: String): Void
{
if (menuClip) this.menuClip = menuClip;
};
public function getMenuDepth (Void): Number
{
return menuDepth;
};
public function setMenuDepth (menuDepth: Number): Void
{
this.menuDepth = menuDepth;
};
public function getMenuLabel (Void): String
{
return menuLabel;
};
public function setMenuLabel (menuLabel: String): Void
{
if (menuLabel) this.menuLabel = menuLabel;
};
public function getMenuSource (Void): Object
{
return menuSource;
};
public function setMenuSource (menuSource: Object): Void
{
if (menuSource) this.menuSource = menuSource;
};
public function getMenuPosition (Void): Object
{
return menuPosition;
};
public function setMenuPosition (menuPosition: Object): Void
{
if (menuPosition.x && menuPosition.y) this.menuPosition = menuPosition;
};
public function getMenuDirection (Voic): String
{
return menuDirection;
};
public function setMenuDirection (menuDirection: String): Void
{
if (menuDirection) this.menuDirection = menuDirection;
};
}
gebruik:
Deze class roep je aan in de .fla waar je je menu wilt hebben, op deze manier:
var myMenu: GenericMenu = new GenericMenu (_root, "menuLinkageID", 10, "myMenu", myMenuSourceObject, {x: 50, y: 50}, "vertical");
(Straks zal ik een duidelijk voorbeeld geven)
Class 3: GenericMenuXMLSource
Deze class parsed een xml bestand in een object wat gebruikt wordt door de GenericMenu class hierboven.
code:
class GenericMenuXMLSource
{
private var XMLObject: XML;
private var XMLSource: String;
private var menuSource: Object;
public function GenericMenuXMLSource (XMLSource: String)
{
init(XMLSource);
};
public function init (XMLSource: String): Void
{
setXMLSource(XMLSource);
loadXML();
};
public function loadXML (Void): Void
{
var classReference: GenericMenuXMLSource = this;
XMLObject = new XML();
XMLObject.ignoreWhite = true;
XMLObject.onLoad = function (success: Boolean)
{
if (success) classReference.processXML();
};
XMLObject.load(getXMLSource());
};
public function processXML (Void): Void
{
menuSource = new Object();
menuSource.buttonClips = new Array();
menuSource.buttonDepths = new Array();
menuSource.buttonTextFields = new Array();
menuSource.buttonLabels = new Array();
menuSource.buttonSizes = new Array();
menuSource.buttonSpacing = new Number;
menuSource.buttonTargets = new Array();
var xmlRoot: XMLNode = XMLobject.firstChild
var menuLength: Number = xmlRoot.childNodes.length;
for (var i: Number = 0; i < menuLength; ++i)
{
menuSource.buttonClips[i] = xmlRoot.childNodes[i].attributes.buttonClip;
menuSource.buttonDepths[i] = Number(xmlRoot.childNodes[i].attributes.buttonDepth);
menuSource.buttonTextFields[i] = xmlRoot.childNodes[i].attributes.buttonTextField;
menuSource.buttonLabels[i] = xmlRoot.childNodes[i].attributes.buttonLabel;
menuSource.buttonSizes[i] = {w: Number(xmlRoot.childNodes[i].attributes.buttonSizeW), h: Number(xmlRoot.childNodes[i].attributes.buttonSizeH)};
menuSource.buttonSpacing = Number(xmlRoot.attributes.buttonSpacing);
menuSource.buttonTargets[i] = {linkType: xmlRoot.childNodes[i].attributes.buttonTargetLinkType, destination: xmlRoot.childNodes[i].attributes.buttonTargetDestination, scope: xmlRoot.childNodes[i].attributes.buttonTargetScope};
};
};
public function setXMLSource (XMLSource: String): Void
{
if (XMLSource) this.XMLSource = XMLSource;
};
public function getXMLSource (Void): String
{
return XMLSource;
};
public function getMenuSource (Void): Object
{
return menuSource;
};
}
gebruik:
Deze class roep je aan voor de GenericMenu class, dit gaat als volgt:
var myMenuSource: GenericMenuXMLSource = new GenericMenuXMLSource("MenuSource.xml");
var myMenuSourceObject: Object = new Object();
myMenuSourceObject = myMenuSource.getMenuSource();
Mini-tutorial:
Zie volgende post .. .dit wordt veel te lang
Waar blijft Actionscript 2.0 ondersteuning op FlashFocus beste mensen?
Het is op zich vrij simpel in het gebruik en heb dan ook niet de hele code gecomment. Mocht iemand toch problemen hebben met het gebruik ervan, post hier je vraag en ik zal kijken wat ik kan doen.
Waarschuwing: het is opzich vrij simpel maar ook weer niet zo dat iedereen die nog maar net met Actionscrip bezig is het simpel kan gebruiken, laat staan begrijpen. Houd hier dus rekening mee.
Ok daar komtie dan:
Class 1: GenericButton
Deze class zorgt ervoor dat een MovieClip als Button kan fungeren. Deze class wordt gebruikt in de GenericMenu class die hierna volgt. Je kan deze class ook op zichzelf gebruiken.
code:
class GenericButton
{
private var buttonHolder: MovieClip;
private var buttonScope: MovieClip;
private var buttonClip: String;
private var buttonDepth: Number;
private var buttonTextField: String;
private var buttonLabel: String;
private var buttonSize: Object;
private var buttonPosition: Object;
private var buttonTarget: Object;
public function GenericButton (buttonScope: MovieClip, buttonClip: String, buttonDepth: Number, buttonTextField: String, buttonLabel: String, buttonSize: Object, buttonPosition: Object, buttonTarget: Object)
{
init(buttonScope, buttonClip, buttonDepth, buttonTextField, buttonLabel, buttonSize, buttonPosition, buttonTarget);
};
private function init (buttonScope: MovieClip, buttonClip: String, buttonDepth: Number, buttonTextField: String, buttonLabel: String, buttonSize: Object, buttonPosition: Object, buttonTarget: Object): Void
{
setButtonScope(buttonScope);
setButtonClip(buttonClip);
setButtonDepth(buttonDepth);
setButtonTextField(buttonTextField);
setButtonLabel(buttonLabel);
setButtonSize(buttonSize);
setButtonPosition(buttonPosition);
setButtonTarget(buttonTarget);
displayButton();
startListeners();
};
private function displayButton (Void): Void
{
buttonHolder = getButtonScope().attachMovie(getButtonClip(), "button"+getButtonDepth(), getButtonDepth());
var buttonSize: Object = getButtonSize();
buttonHolder._width = buttonSize.w;
buttonHolder._height = buttonSize.h;
var buttonPosition: Object = getButtonPosition();
buttonHolder._x = buttonPosition.x;
buttonHolder._y = buttonPosition.y;
buttonHolder[buttonTextField].text = getButtonLabel();
};
private function startListeners (Void): Void
{
var classReference: GenericButton = this;
buttonHolder.onRelease = buttonHolder.onReleaseOutside = classReference.onClick
buttonHolder.onRollOver = buttonHolder.onDragOver = classReference.onRollOn
buttonHolder.onRollOut = buttonHolder.onDragOut = classReference.onRollOff
};
public function onClick (Void): Void
{
buttonHolder.gotoAndPlay("#click");
var buttonTarget: Object = getButtonTarget();
if (buttonTarget.linkType == "frame") eval(buttonTarget.scope).gotoAndPlay(buttonTarget. destination);
else if (buttonTarget.linkType == "url") getURL(buttonTarget.destination);
};
public function onRollOn (Void): Void
{
buttonHolder.gotoAndPlay("#rollOn");
};
public function onRollOff (Void): Void
{
buttonHolder.gotoAndPlay("#rollOff");
};
public function getButtonScope (Void): MovieClip
{
return buttonScope;
};
public function setButtonScope (buttonScope: MovieClip): Void
{
if (buttonScope) this.buttonScope = buttonScope;
};
public function getButtonClip (Void): String
{
return buttonClip;
};
public function setButtonClip (buttonClip: String): Void
{
if (buttonClip) this.buttonClip = buttonClip;
};
public function getButtonDepth (Void): Number
{
return buttonDepth;
};
public function setButtonDepth (buttonDepth: Number): Void
{
this.buttonDepth = buttonDepth;
};
public function getButtonTextField (Void): String
{
return buttonTextField;
};
public function setButtonTextField (buttonTextField: String): Void
{
if (buttonTextField) this.buttonTextField = buttonTextField;
};
public function getButtonLabel (Void): String
{
return buttonLabel;
};
public function setButtonLabel (buttonLabel: String): Void
{
if (buttonLabel) this.buttonLabel = buttonLabel;
};
public function getButtonSize (Void): Object
{
return buttonSize;
};
public function setButtonSize (buttonSize: Object): Void
{
if (buttonSize.w && buttonSize.h) this.buttonSize = buttonSize;
};
public function getButtonPosition (Void): Object
{
return buttonPosition;
};
public function setButtonPosition (buttonPosition: Object): Void
{
this.buttonPosition = buttonPosition;
};
public function getButtonTarget (Void): Object
{
return buttonTarget;
};
public function setButtonTarget (buttonTarget: Object): Void
{
if (buttonTarget) this.buttonTarget = buttonTarget;
};
}
gebruik:
In eerste instantie wordt deze gebruikt in de GenericMenu class / bijbehorende xml file en hoef je je er geen zorgen over te maken.
Als je hem los wil gebruiken is hier een voorbeeldje van hoe je hem aanroept:
var firstButton: GenericButton = new GenericButton(this, "sampleItemLinkID", 100, "labelText", "This will point to another frame", {w: 250, h: 24}, {x: 100, y: 150}, {linkType: "frame", scope: this, destination: "#after"});
Je moet dan wel een MovieClip hebben in je library met als linkage id "sampleItemLinkID" en met een dynamic textfield erin met de instancename "labeltext".
Class 2: GenericMenu
Deze class zorgt ervoor dat er een bepaald aantal GenericButton's worden aangemaakt en die op de juiste manier worden gepositioneerd en de juiste parameters meekrijgen. Deze class is afhankelijk van de class hieronder: GenericMenuXMLSource.
code:
class GenericMenu
{
private var menuHolder: MovieClip;
private var menuScope: MovieClip;
private var menuClip: String; // linkage ID to empty MovieClip
private var menuDepth: Number;
private var menuLabel: String;
private var menuSource: Object; // buttonClips, buttonDepths, buttonTextFields, buttonLabels, buttonSizes, buttonSpacing, buttonTargets (xml or manual)
private var menuPosition: Object; // w, h
private var menuDirection: String; // "horizontal" or "vertical"
public function GenericMenu (menuScope: MovieClip, menuClip: String, menuDepth: Number, menuLabel: String, menuSource: Object, menuPosition: Object, menuDirection: String)
{
init(menuScope, menuClip, menuDepth, menuLabel, menuSource, menuPosition, menuDirection);
};
public function init (menuScope: MovieClip, menuClip: String, menuDepth: Number, menuLabel: String, menuSource: Object, menuPosition: Object, menuDirection: String): Void
{
setMenuScope(menuScope);
setMenuClip(menuClip);
setMenuDepth(menuDepth);
setMenuLabel(menuLabel);
setMenuSource(menuSource);
setMenuPosition(menuPosition);
setMenuDirection(menuDirection);
displayMenu();
};
public function displayMenu (Void): Void
{
var buttonHolders: Array = new Array();
var buttonClips: Array = getMenuSource().buttonClips;
var buttonDepths: Array = getMenuSource().buttonDepths;
var buttonTextFields: Array = getMenuSource().buttonTextFields;
var buttonLabels: Array = getMenuSource().buttonLabels;
var buttonSizes: Array = getMenuSource().buttonSizes;
var buttonSpacing: Number = getMenuSource().buttonSpacing;
var buttonTargets: Array = getMenuSource().buttonTargets;
menuHolder = getMenuScope().attachMovie(getMenuClip(), getMenuLabel(), getMenuDepth());
var menuPosition: Object = getMenuPosition();
menuHolder._x = menuPosition.x;
menuHolder._y = menuPosition.y;
var buttonPositions: Array = new Array();
var menuDirection: Object = getMenuDirection();
var menuLength: Number = buttonClips.length;
for (var i: Number = 0; i < menuLength; ++i)
{
buttonPositions[i] = new Object();
if (menuDirection == "horizontal")
{
buttonPositions[i].x = i * (buttonSizes[i].w + buttonSpacing);
buttonPositions[i].y = 0;
}
else if (menuDirection == "vertical")
{
buttonPositions[i].x = 0;
buttonPositions[i].y = i * (buttonSizes[i].h + buttonSpacing);
}
buttonHolders[i] = new GenericButton (menuHolder, buttonClips[i], buttonDepths[i], buttonTextFields[i], buttonLabels[i], buttonSizes[i], buttonPositions[i], buttonTargets[i]);
};
};
public function getMenuScope (Void): MovieClip
{
return menuScope;
};
public function setMenuScope (menuScope: MovieClip): Void
{
if (menuScope) this.menuScope = menuScope;
};
public function getMenuClip (Void): String
{
return menuClip;
};
public function setMenuClip (menuClip: String): Void
{
if (menuClip) this.menuClip = menuClip;
};
public function getMenuDepth (Void): Number
{
return menuDepth;
};
public function setMenuDepth (menuDepth: Number): Void
{
this.menuDepth = menuDepth;
};
public function getMenuLabel (Void): String
{
return menuLabel;
};
public function setMenuLabel (menuLabel: String): Void
{
if (menuLabel) this.menuLabel = menuLabel;
};
public function getMenuSource (Void): Object
{
return menuSource;
};
public function setMenuSource (menuSource: Object): Void
{
if (menuSource) this.menuSource = menuSource;
};
public function getMenuPosition (Void): Object
{
return menuPosition;
};
public function setMenuPosition (menuPosition: Object): Void
{
if (menuPosition.x && menuPosition.y) this.menuPosition = menuPosition;
};
public function getMenuDirection (Voic): String
{
return menuDirection;
};
public function setMenuDirection (menuDirection: String): Void
{
if (menuDirection) this.menuDirection = menuDirection;
};
}
gebruik:
Deze class roep je aan in de .fla waar je je menu wilt hebben, op deze manier:
var myMenu: GenericMenu = new GenericMenu (_root, "menuLinkageID", 10, "myMenu", myMenuSourceObject, {x: 50, y: 50}, "vertical");
(Straks zal ik een duidelijk voorbeeld geven)
Class 3: GenericMenuXMLSource
Deze class parsed een xml bestand in een object wat gebruikt wordt door de GenericMenu class hierboven.
code:
class GenericMenuXMLSource
{
private var XMLObject: XML;
private var XMLSource: String;
private var menuSource: Object;
public function GenericMenuXMLSource (XMLSource: String)
{
init(XMLSource);
};
public function init (XMLSource: String): Void
{
setXMLSource(XMLSource);
loadXML();
};
public function loadXML (Void): Void
{
var classReference: GenericMenuXMLSource = this;
XMLObject = new XML();
XMLObject.ignoreWhite = true;
XMLObject.onLoad = function (success: Boolean)
{
if (success) classReference.processXML();
};
XMLObject.load(getXMLSource());
};
public function processXML (Void): Void
{
menuSource = new Object();
menuSource.buttonClips = new Array();
menuSource.buttonDepths = new Array();
menuSource.buttonTextFields = new Array();
menuSource.buttonLabels = new Array();
menuSource.buttonSizes = new Array();
menuSource.buttonSpacing = new Number;
menuSource.buttonTargets = new Array();
var xmlRoot: XMLNode = XMLobject.firstChild
var menuLength: Number = xmlRoot.childNodes.length;
for (var i: Number = 0; i < menuLength; ++i)
{
menuSource.buttonClips[i] = xmlRoot.childNodes[i].attributes.buttonClip;
menuSource.buttonDepths[i] = Number(xmlRoot.childNodes[i].attributes.buttonDepth);
menuSource.buttonTextFields[i] = xmlRoot.childNodes[i].attributes.buttonTextField;
menuSource.buttonLabels[i] = xmlRoot.childNodes[i].attributes.buttonLabel;
menuSource.buttonSizes[i] = {w: Number(xmlRoot.childNodes[i].attributes.buttonSizeW), h: Number(xmlRoot.childNodes[i].attributes.buttonSizeH)};
menuSource.buttonSpacing = Number(xmlRoot.attributes.buttonSpacing);
menuSource.buttonTargets[i] = {linkType: xmlRoot.childNodes[i].attributes.buttonTargetLinkType, destination: xmlRoot.childNodes[i].attributes.buttonTargetDestination, scope: xmlRoot.childNodes[i].attributes.buttonTargetScope};
};
};
public function setXMLSource (XMLSource: String): Void
{
if (XMLSource) this.XMLSource = XMLSource;
};
public function getXMLSource (Void): String
{
return XMLSource;
};
public function getMenuSource (Void): Object
{
return menuSource;
};
}
gebruik:
Deze class roep je aan voor de GenericMenu class, dit gaat als volgt:
var myMenuSource: GenericMenuXMLSource = new GenericMenuXMLSource("MenuSource.xml");
var myMenuSourceObject: Object = new Object();
myMenuSourceObject = myMenuSource.getMenuSource();
Mini-tutorial:
Zie volgende post .. .dit wordt veel te lang
Waar blijft Actionscript 2.0 ondersteuning op FlashFocus beste mensen?