San Flashcisco | San Francisco Flash User Group: "ActionScripting RoundTable Discussion & Help
This month we are hosting our second ever roundtable event. This is an event where we forgo guest speakers for ActionScript hacking, problem solving, project assistance and general Flash discussion.
This event is for everyone… bring your laptop .. bring your questions … bring your skills!
Address:
SFSU Downtown Campus,
835 Market Street,
6th Floor, Room: 627
San Francisco,
CA 94103-1901
The entrance to the downtown SFSU building is located between the entrances of Walgreens and the Westfield shopping centre on Market St between 4th & 5th. Once in the building, take the elevator to the 6th floor and follow the signs for room 627."
Web Technologies WNM-608. Class meets in 180NM and Online this Spring 2012 in San Francisco. Classroom:555 Mailbox: 5th Floor Mailroom 180NM
Wednesday, February 25, 2009
Tuesday, February 24, 2009
Flash Player update available to address security vulnerabilities
Summary
A potential vulnerability has been identified in Adobe Flash Player 10.0.12.36 and earlier that could allow an attacker who successfully exploits this potential vulnerability to take control of the affected system. A malicious SWF must be loaded in Flash Player by the user for an attacker to exploit this potential vulnerability. Additional vulnerabilities have been addressed in this update. Adobe recommends users update to the most current version of Flash Player available for their platform.
Affected software versions
Adobe Flash Player 10.0.12.36 and earlier (Adobe Flash Player 10.0.15.3 and earlier for Linux)
To verify the Adobe Flash Player version number, access the About Flash Player page, or right-click on Flash content and select “About Adobe (or Macromedia) Flash Player” from the menu. If you use multiple browsers, perform the check for each browser you have installed on your system.
A potential vulnerability has been identified in Adobe Flash Player 10.0.12.36 and earlier that could allow an attacker who successfully exploits this potential vulnerability to take control of the affected system. A malicious SWF must be loaded in Flash Player by the user for an attacker to exploit this potential vulnerability. Additional vulnerabilities have been addressed in this update. Adobe recommends users update to the most current version of Flash Player available for their platform.
Affected software versions
Adobe Flash Player 10.0.12.36 and earlier (Adobe Flash Player 10.0.15.3 and earlier for Linux)
To verify the Adobe Flash Player version number, access the About Flash Player page, or right-click on Flash content and select “About Adobe (or Macromedia) Flash Player” from the menu. If you use multiple browsers, perform the check for each browser you have installed on your system.
Tuesday, February 17, 2009
Thursday, February 12, 2009
Wednesday, February 11, 2009
The Joel on Software Discussion Group - browser abstraction
The Joel on Software Discussion Group - browser abstraction
this.oAutoComp.formatResult = function(oResultItem, sQuery) {
return "" + oResultItem[0] + "
" + oResultItem[1];
};
method for formatResult....
why is this returning what is in the function to the formatResult method?!?
yui
formatResult
String formatResult ( oResultData , sQuery , sResultMatch )
Overridable method that returns HTML markup for one result to be populated as innerHTML of an element.
Parameters:
oResultData Object Result data object.
sQuery The corresponding query string.
sResultMatch The current query string.
Returns: String
HTML markup of formatted result data.
this.oAutoComp.formatResult = function(oResultItem, sQuery) {
return "" + oResultItem[0] + "
" + oResultItem[1];
};
method for formatResult....
why is this returning what is in the function to the formatResult method?!?
yui
formatResult
String formatResult ( oResultData , sQuery , sResultMatch )
Overridable method that returns HTML markup for one result to be populated as innerHTML of an
Parameters:
oResultData Object Result data object.
sQuery
sResultMatch
Returns: String
HTML markup of formatted result data.
RedHanded � YAML is JSON
RedHanded � YAML is JSON: "YAML::load %{
{'menu': {
'id': 'file',
'value': 'File:',
'popup': {
'menuitem': [
{'value': 'New', 'onclick': 'CreateNewDoc()'},
{'value': 'Open', 'onclick': 'OpenDoc()'},
{'value': 'Close', 'onclick': 'CloseDoc()'}]}}}"
{'menu': {
'id': 'file',
'value': 'File:',
'popup': {
'menuitem': [
{'value': 'New', 'onclick': 'CreateNewDoc()'},
{'value': 'Open', 'onclick': 'OpenDoc()'},
{'value': 'Close', 'onclick': 'CloseDoc()'}]}}}"
Get The Boot - Macy's
DTD Tutorial
document types and their layout mode (old but still useful)
DTDs...
A DTD is primarily used for the expression of a schema via a set of declarations that conform to a particular markup syntax and that describe a class, or type, of document, in terms of constraints on the structure of that document. A DTD may also declare constructs that are not always required to establish document structure, but that may affect the interpretation of some documents. XML documents are described using a subset of DTD which imposes a number of restrictions on the document's structure, as required per the XML standard (XML is in itself an application of SGML optimized for automated parsing). DTDs are written in a formal syntax that explains precisely which elements and entities may appear where in the document and what the elements’ contents and attributes are. DTD is native to the SGML and XML specifications, and since its introduction other specification languages such as XML Schema and RELAX NG have been released with additional functionality.
As an expression of a schema, a DTD specifies, in effect, the syntax of an "application" of SGML or XML, such as the derivative language HTML or XHTML. This syntax is usually a less general form of the syntax of SGML or XML.
In a DTD, the structure of a class of documents is described via element and attribute-list declarations. Element declarations name the allowable set of elements within the document, and specify whether and how declared elements and runs of character data may be contained within each element. Attribute-list declarations name the allowable set of attributes for each declared element, including the type of each attribute value, if not an explicit set of valid value(s).
The declaration establishes that the document is an instance of the type defined by the referenced DTD.
The declarations in a DTD are divided into an internal subset and an external subset. The declarations in the internal subset are embedded in the Document Type Declaration in the document itself. The declarations in the external subset are located in a separate text file. The external subset may be referenced via a public identifier and/or a system identifier. Programs for reading documents may not be required to read the external subset.
n a DTD markup declarations are used to declare which elements types, attribute lists, entities and notations are allowed in the structure of the corresponding class of XML documents.[1]
[edit] Element Type Declarations
An Element Type Declaration defines an element and its possible content. A valid XML document only contains elements that are defined in the DTD.
An element’s content is specified by some key words and characters:
* EMPTY for no content
* ANY for any content
* , for orders
* | for alternatives ("either...or")
* ( ) for groups
* star for any number (zero or more)
* + for at least once (one or more)
* ? mark for optional (zero or one)
* If there is no *, + or ?, the element must occur exactly one time
Attribute List Declarations
An Attribute List specifies the name, data type and default value of each attribute associated with a given element type[2], for example:
id ID #IMPLIED
src CDATA #REQUIRED
>
There are the following attribute types:
* CDATA (It stands for a character set of data.)
* ID
* IDREF and IDREFS
* NMTOKEN and NMTOKENS
* ENTITY and ENTITIES
* NOTATION and NOTATIONS
* Listings and NOTATION-listings
A default value can be used to define whether an attribute must occur (#REQUIRED) or not (#IMPLIED), whether it has a fixed value (#FIXED) and which value should be used as a default value ("…") in case the given attribute is left out in a XML tag.
document types and their layout mode (old but still useful)
DTDs...
A DTD is primarily used for the expression of a schema via a set of declarations that conform to a particular markup syntax and that describe a class, or type, of document, in terms of constraints on the structure of that document. A DTD may also declare constructs that are not always required to establish document structure, but that may affect the interpretation of some documents. XML documents are described using a subset of DTD which imposes a number of restrictions on the document's structure, as required per the XML standard (XML is in itself an application of SGML optimized for automated parsing). DTDs are written in a formal syntax that explains precisely which elements and entities may appear where in the document and what the elements’ contents and attributes are. DTD is native to the SGML and XML specifications, and since its introduction other specification languages such as XML Schema and RELAX NG have been released with additional functionality.
As an expression of a schema, a DTD specifies, in effect, the syntax of an "application" of SGML or XML, such as the derivative language HTML or XHTML. This syntax is usually a less general form of the syntax of SGML or XML.
In a DTD, the structure of a class of documents is described via element and attribute-list declarations. Element declarations name the allowable set of elements within the document, and specify whether and how declared elements and runs of character data may be contained within each element. Attribute-list declarations name the allowable set of attributes for each declared element, including the type of each attribute value, if not an explicit set of valid value(s).
The declaration establishes that the document is an instance of the type defined by the referenced DTD.
The declarations in a DTD are divided into an internal subset and an external subset. The declarations in the internal subset are embedded in the Document Type Declaration in the document itself. The declarations in the external subset are located in a separate text file. The external subset may be referenced via a public identifier and/or a system identifier. Programs for reading documents may not be required to read the external subset.
n a DTD markup declarations are used to declare which elements types, attribute lists, entities and notations are allowed in the structure of the corresponding class of XML documents.[1]
[edit] Element Type Declarations
An Element Type Declaration defines an element and its possible content. A valid XML document only contains elements that are defined in the DTD.
An element’s content is specified by some key words and characters:
* EMPTY for no content
* ANY for any content
* , for orders
* | for alternatives ("either...or")
* ( ) for groups
* star for any number (zero or more)
* + for at least once (one or more)
* ? mark for optional (zero or one)
* If there is no *, + or ?, the element must occur exactly one time
Attribute List Declarations
An Attribute List specifies the name, data type and default value of each attribute associated with a given element type[2], for example:
id ID #IMPLIED
src CDATA #REQUIRED
>
There are the following attribute types:
* CDATA (It stands for a character set of data.)
* ID
* IDREF and IDREFS
* NMTOKEN and NMTOKENS
* ENTITY and ENTITIES
* NOTATION and NOTATIONS
* Listings and NOTATION-listings
A default value can be used to define whether an attribute must occur (#REQUIRED) or not (#IMPLIED), whether it has a fixed value (#FIXED) and which value should be used as a default value ("…") in case the given attribute is left out in a XML tag.
Tuesday, February 10, 2009
Monday, February 9, 2009
//Action tag #0
function bodyTypesLoaded(bodyTypes, restart)
{
selector = this.attachMovie("bodyTypePicker", "selector", 1);
selector.init(bodyTypes, restart);
selector._alpha = 0;
selector._x = Stage.width / 2;
selector._y = 300;
}
function beginGetInta(bodyTypes)
{
myBodyTypes = bodyTypes;
spiderman._y = spiderman._y - 40;
spiderman.slideTo("0", spiderman._y + 40, time * 2, ease2, delay);
spiderman.lineMask.slideTo("0", spiderman.outline._y, time, ease1, delay);
delay = delay + time;
spiderman.whiteMask.slideTo("0", spiderman.whiteFill._y, time, ease1, delay);
delay = delay + time;
spiderman.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
spiderman.outline.fadeOut(time, ease1, delay);
spiderman.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
ironman._x = ironman._x - outerOS;
ironman.slideTo(ironman._x + outerOS, "0", time * 2, ease2, delay);
}
ironman.lineMask.slideTo("0", ironman.outline._y, time, ease1, delay);
delay = delay + time;
ironman.whiteMask.slideTo("0", ironman.whiteFill._y, time, ease1, delay);
delay = delay + time;
ironman.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
ironman.outline.fadeOut(time, ease1, delay);
ironman.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
hulk._x = hulk._x + outerOS;
hulk.slideTo(hulk._x - outerOS, "0", time * 2, ease2, delay);
}
hulk.lineMask.slideTo("0", hulk.outline._y, time, ease1, delay);
delay = delay + time;
hulk.whiteMask.slideTo("0", hulk.whiteFill._y, time, ease1, delay);
delay = delay + time;
hulk.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
hulk.outline.fadeOut(time, ease1, delay);
hulk.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
wolverine._x = wolverine._x - innerOS;
wolverine.slideTo(wolverine._x + innerOS, "0", time * 2, ease2, delay);
}
wolverine.lineMask.slideTo("0", wolverine.outline._y - 5, time, ease1, delay);
delay = delay + time;
wolverine.whiteMask.slideTo("0", wolverine.whiteFill._y - 5, time, ease1, delay);
delay = delay + time;
wolverine.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
wolverine.outline.fadeOut(time, ease1, delay);
wolverine.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
sue._x = sue._x + innerOS;
sue.slideTo(sue._x - innerOS, "0", time * 2, ease2, delay);
}
sue.lineMask.slideTo("0", sue.outline._y, time, ease1, delay);
delay = delay + time;
sue.whiteMask.slideTo("0", sue.whiteFill._y, time, ease1, delay);
delay = delay + time;
sue.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
sue.outline.fadeOut(time, ease1, delay);
sue.colorFill.fadeIn(time, ease1, delay);
delay = delay + time * 3;
time = time * 2;
beginButton._y = beginButton._y - 40;
beginButton.slideTo("0", beginButton._y + 40, time, ease2, delay);
beginButton.beginBG.fadeIn(time, ease1, delay);
delay = delay + time / 2;
beginButton.beginText.fadeIn(time, ease1, delay, setBeginButton);
}
function setBeginButton()
{
trace("=============== get outta");
beginButton.flash1X = beginButton.flash1._x;
beginButton.flash2X = beginButton.flash2._x;
beginButton.bMask.onPress = beginPress;
beginButton.bMask.onRollOver = beginOver;
beginButton.bMask.onRollOut = beginOut;
beginButton.bMask.onRelease = beginRelease;
beginButton.bMask.onReleaseOutside = beginOut;
}
function beginOver()
{
beginButton.flash1.slideTo(beginButton.flash2X, 0.25, "easeOutQuad");
beginButton.flash2.slideTo(beginButton.flash1X, 0.25, "easeOutQuad");
}
function beginOut()
{
beginButton.flash1.slideTo(beginButton.flash1X, 0.25, "easeOutQuad");
beginButton.flash2.slideTo(beginButton.flash2X, 0.25, "easeOutQuad");
beginButton.beginText.alphaTo(100, 0.25, "easeOutQuad");
}
function beginPress()
{
beginButton.beginText.alphaTo(200, 0.1, "easeOutQuad");
}
function beginRelease()
{
beginButton.beginText._alpha = 100;
beginGetOutta();
}
function beginGetOutta(info, reBuild)
{
sueCX = Stage.width / 2 - sue._width / 2;
wolverineCX = Stage.width / 2 - wolverine._width / 2;
ironmanCX = Stage.width / 2 - ironman._width / 2;
hulkCX = Stage.width / 2 - hulk._width / 2;
trace(sueCX + " = " + Stage.width / 2 + " - " + sue._width / 2);
time = 0.15;
delay = 0;
beginButton.fadeOut(time, ease3, delay);
beginButton.slideTo("0", beginButton._y - 40, time, ease4, delay);
delay = delay + time;
wolverine.colorFill.brightOffsetTo(100, time, ease4, delay);
wolverine.outline.swapDepths(wolverine.getNextHighestDepth());
wolverine.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
sue.colorFill.brightOffsetTo(100, time, ease4, delay);
sue.outline.swapDepths(sue.getNextHighestDepth());
sue.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
ironman.colorFill.brightOffsetTo(100, time, ease4, delay);
ironman.outline.swapDepths(ironman.getNextHighestDepth());
ironman.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
hulk.colorFill.brightOffsetTo(100, time, ease4, delay);
hulk.outline.swapDepths(hulk.getNextHighestDepth());
hulk.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
spiderman.colorFill.brightOffsetTo(100, time, ease4, delay);
spiderman.outline.swapDepths(spiderman.getNextHighestDepth());
spiderman.outline.fadeIn(time, ease1, delay);
delay = delay + time;
time = 0.25;
wolverine.slideTo(wolverineCX, "0", time, ease4, delay);
sue.slideTo(sueCX, "0", time, ease4, delay);
ironman.slideTo(ironmanCX, "0", time, ease4, delay);
hulk.slideTo(hulkCX, "0", time, ease4, delay);
delay = delay + time / 2;
hulk.fadeOut(time, ease1, delay);
ironman.fadeOut(time, ease1, delay);
sue.fadeOut(time, ease1, delay);
wolverine.fadeOut(time, ease1, delay);
spiderman.fadeOut(time, ease1, delay);
delay = delay - time / 2;
introComplete = true;
whiteBG._x = Stage.width / 2;
whiteBG._alpha = 0;
introComplete = true;
var __reg1 = new com.mosesSupposes.fuse.Fuse();
__reg1.push([{target: vRuleL, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: delay}, {target: vRuleR, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: delay}, {target: introMask, width: 1, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: delay, func: changeToSelector, args: [info, reBuild]}]);
__reg1.start();
}
function changeToSelector(info, reBuild)
{
whiteBG._alpha = 100;
if (!introComplete)
{
debug.trace("introComplete " + introComplete);
beginGetOutta(info, reBuild);
return;
}
if (reBuild)
{
var __reg2 = new com.mosesSupposes.fuse.Fuse();
__reg2.push({target: _root.selector, y: 0, alpha: 0, ease: "easeInBack", seconds: 0.5});
__reg2.push([{target: vRuleL, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: vRuleR, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: whiteBG, width: 0, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: 0, func: bodySelected, args: [info, reBuild]}]);
__reg2.start();
return;
}
__reg2 = new com.mosesSupposes.fuse.Fuse();
__reg2.push([{target: vRuleL, x: Stage.width / 2 - whiteW / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: vRuleR, x: Stage.width / 2 + whiteW / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: whiteBG, width: whiteW, x: Stage.width / 2 - whiteW / 2, seconds: 0.3, ease: ease3, delay: 0}]);
__reg2.push({target: selector, y: 200, alpha: 100, seconds: 0.3, ease: ease1, delay: 0});
__reg2.start();
}
function bodySelected(bodyInfo, reBuild)
{
var __reg6 = undefined;
if (reBuild)
{
debug.trace("rebuild with id " + bodyInfo.attributes.body_type_id);
heroData = new com.i33.marvel.HeroData(bodyInfo.attributes.body_type_id);
heroData.bodyId = bodyInfo.attributes.body_type_id;
heroData.heroId = bodyInfo.attributes.hero_id;
heroData.name = bodyInfo.attributes.name;
__reg6 = bodyInfo.attributes.body_type_id;
hero = _root.attachMovie("Hero", "hero", 7, heroData);
hero.rebuild(bodyInfo, true);
}
else
{
heroData = new com.i33.marvel.HeroData(bodyInfo);
__reg6 = bodyInfo;
hero = this.attachMovie("Hero", "hero", 7, heroData);
}
hero._alpha = 0;
hero._xscale = heroScale;
hero._yscale = heroScale;
hero._x = 385;
hero._y = 50;
var __reg5 = hero.createEmptyMovieClip("gradBox", hero.getNextHighestDepth());
var __reg12 = new com.i33.marvel.GradLine(__reg5, hero.outline._width, hero.outline._height);
__reg5._x = hero.outline._x;
__reg5._y = hero.outline._y;
__reg5.swapDepths(hero.color1);
__reg5.setMask(hero.color1);
var __reg7 = new com.mosesSupposes.fuse.Fuse();
__reg7.push({target: hero, Blur_blur: 0, _yscale: 130, ease: "easeInBack", seconds: 0});
__reg7.start(true);
com.mosesSupposes.fuse.FuseFMP.setFilterProps(hero.body, "Glow", {Glow_color: 16777215});
closeSelector(__reg6);
categories = new com.i33.marvel.AssetCategories(_global.host + "assets/" + __reg6 + ".xmlz");
}
function assetCategoriesLoaded(assetCategoriesArray)
{
assetMenu = this.attachMovie("menu", "assetMenu", 2);
assetMask = this.createEmptyMovieClip("assetMask", 3);
assetMask.beginFill(16711680);
assetMask.lineTo(110, 0);
assetMask.lineTo(110, 400);
assetMask.lineTo(0, 400);
assetMask._y = (Stage.height - assetMask._height) / 2;
assetMenu._x = 9;
assetMenu._y = 250;
assetMenu._alpha = 100;
debug.trace("categories loaded starting menu...");
assetMenu.assetCategoriesArray = assetCategoriesArray;
assetMenu.setMask(assetMask);
toolBar = attachMovie("toolButtons_MC", "toolBar", 9, {homeX: 970, homeY: 350, animDelay: 1.5});
toolBarListener.addListener(toolBar);
}
function closeSelector(id)
{
marginL = 110;
marginM = 385;
marginR = 950;
heroHomeX = 385;
hero._x = heroHomeX;
hero._y = heroHomeY;
com.mosesSupposes.fuse.ZigoEngine.doTween({target: selector, _y: 0, _alpha: 0, ease: "easeInBack", seconds: 0.5, func: createSmallHero, args: id});
}
function createSmallHero(b)
{
selector._y = 0 - selector._height;
smallHolder = _root.createEmptyMovieClip("smallHolder", 10);
smallHolder._alpha = 100;
smallHero = smallHolder.attachMovie("Hero", "smallHero", smallHolder.getNextHighestDepth());
startOver = smallHolder.attachMovie("startOver", "SO", smallHolder.getNextHighestDepth());
myMCL = new MovieClipLoader();
myMCL.onLoadInit = function (targ)
{
trace("@@@loaded small hero");
setSmallHero();
startOver._y = smallHolder._height + 5;
smallHeroHit = smallHolder.createEmptyMovieClip("smallHit", smallHolder.getNextHighestDepth());
smallHeroHit._alpha = 0;
smallHeroHit.moveTo(0, 0);
smallHeroHit.beginFill(16711680);
smallHeroHit.lineTo(110, 0);
smallHeroHit.lineTo(110, smallHolder._height);
smallHeroHit.lineTo(0, smallHolder._height);
}
;
myMCL.addListener(this);
trace("loading " + _global.host + "bodyTypes/" + b + ".swf");
myMCL.loadClip(_global.host + "bodyTypes/" + b + ".swf", smallHero);
heroTransitionIn();
}
function setSmallHero()
{
function smallRollOver()
{
smallHolder.smallHero.color2.filters = smallFilters;
startOver.startText.colorTo(276874, 0);
}
trace("setting small hero " + smallHero);
smallHero._xscale = 20;
smallHero._yscale = 20;
smallHero._x = 0;
smallHero._y = 0;
smallColor = new Color(smallHero.color1);
smallColor.setRGB(15921906);
smallFilters = new Array();
glow = new flash.filters.GlowFilter(16777215, 0.9, 3, 3, 5, 3, false, false);
dropShadow = new flash.filters.DropShadowFilter(0, 0, 0, 0.8, 6, 6, 0.8, 3, false, false, false);
smallFilters.push(glow, dropShadow);
smallHolder.onRollOver = mx.utils.Delegate.create(this, smallRollOver);
smallHolder.onRollOut = smallHolder.onDragOut = function ()
{
this.smallHero.color2.filters = null;
startOver.startText.colorTo(10066329, 0);
}
;
smallHolder.onPress = function ()
{
_global.rebuild = false;
showMessageWindow("You will lose all changes made since last save.", true, restart);
}
;
}
function heroTransitionIn()
{
duplicateMovieClip(vRuleL, "vRuleM", 16384);
vRuleM._alpha = 0;
var __reg1 = new com.mosesSupposes.fuse.Fuse();
__reg1.push([{target: vRuleL, x: marginL, seconds: 0.2, ease: "easeInBack"}, {target: vRuleR, x: marginR, seconds: 0.2, ease: "easeInBack"}, {target: whiteBG, x: marginL, _alpha: 100, _width: marginR - marginL, seconds: 0.2, ease: "easeInBack"}]);
__reg1.push({target: smallHolder, alpha: 100, ease: "easeInBack", seconds: 0.2});
__reg1.push({target: hero, Blur_blur: 0, alpha: 100, _yscale: heroScale, ease: "easeInBack", seconds: 0.5});
__reg1.push({target: hero.body, Glow_color: 3753306, Glow_alpha: 0.2, Glow_blurX: 20, Glow_blurY: 20, Glow_strength: 2, time: 0.3, ease: "easeInQuad", func: changeToBuilder});
__reg1.start();
}
function changeToBuilder()
{
cursor = _root.attachMovie("mouseCursor", "cursor", 100);
var __reg11 = _root.attachMovie("panelReveal", "panelReveal", 5, {_x: marginL + 3, _y: 180, _alpha: 0});
var __reg4 = _root.attachMovie("NameYourCharacterBox_MC", "nameBox", 6, {_x: marginL + 3, _y: 250, _alpha: 0});
var __reg2 = _root.attachMovie("colorWindow", "colorBox", 8, {_x: marginL + 3, _y: 250, _alpha: 0});
var __reg5 = __reg2.attachMovie("ToolBar", "tools", __reg2.getNextHighestDepth());
__reg5._x = __reg2._width + 7;
var __reg3 = new com.mosesSupposes.fuse.Fuse();
__reg3.push({target: vRuleM, x: 385, alpha: 100, ease: "easeInBack", seconds: 0.3});
__reg3.push([{target: __reg4, y: 50, _alpha: 100, ease: "easeInOutExpo", seconds: 0.75}, {target: __reg2, y: 539, _alpha: 50, ease: "easeInOutExpo", seconds: 0.75, func: checkRebuild}]);
__reg3.start();
assetMenu.buildMenu();
}
function checkRebuild()
{
if (_global.rebuild)
{
_root.colorBox.tools.enableTools();
}
}
function startUp()
{
_root.loadBodyTypes = new com.i33.marvel.LoadBodyTypes();
}
function openMyCharacters()
{
debug.trace("openMyCharacters");
characterWindow = this.attachMovie("MyCharacterWindow_MC", "characterWindow", 16);
characterWindow.createGallery();
debug.trace("MyCharacterWindow_MC pressed");
popupIn();
}
function showMessageWindow(message, cnclBtn, cbk)
{
debug.trace("showMessageWindow");
messageWindow = this.attachMovie("messageWindow", "messageWindow", 16);
messageWindow.text = message;
messageWindow.cbk = cbk;
if (cnclBtn)
{
messageWindow.addCncl();
}
popupIn();
}
function popupIn()
{
showWhiteOut = true;
whiteOut = _root.attachMovie("whiteBox", "whiteOut", 15);
whiteOut._alpha = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween({target: whiteOut, _alpha: 80, seconds: 0.25, ease: "easeOutQuad"});
whiteOut._width = Stage.width;
whiteOut._height = Stage.height;
whiteOut.useHandCursor = false;
whiteOut.onPress = function ()
{
}
;
}
function popupOut(doCallback)
{
trace("removing popup");
var __reg2 = new Object();
if (doCallback)
{
__reg2.func = popupOutOver;
_global.toolbarCallback.call(_global.toolbarScope, true);
return;
}
com.mosesSupposes.fuse.ZigoEngine.doTween({target: whiteOut, _alpha: 0, seconds: 0.25, ease: "easeOutQuad"});
delete whiteOut.onPress;
showWhiteOut = false;
}
function popupOutOver()
{
trace("popup over");
delete whiteOut.onPress;
_global.toolbarCallback = null;
_global.toolbarScope = null;
}
function maskAndLoad(a)
{
panelReveal.spinner.startAnim();
if (_root.hero.name == undefined)
{
_root.nameBox.heroname = _global.heroName;
debug.trace("_root.hero.name == undefined " + _global.heroName);
}
else
{
_root.nameBox.heroName = _root.hero.name;
}
com.mosesSupposes.fuse.ZigoEngine.doTween({target: panelReveal, _alpha: 100, seconds: 0.5, ease: "easeInQuad", delay: 0, func: fillBank, args: [a]});
}
function fillBank(a)
{
_root.bank.removeMovieClip();
var __reg2 = _root.attachMovie("assetPanel", "bank", 4);
__reg2._x = 113;
__reg2._y = 189;
__reg2.init(a);
}
function revealBank()
{
panelReveal.spinner.stopAnim();
panelReveal.alphaTo(0, 0.5);
}
function openRegisterWindow()
{
debug.trace("register");
register = _root.attachMovie("RegisterWindow_MC", "register", 16);
popupIn();
}
function renameWindow(buttonText)
{
debug.trace("_global.defaultName :" + _global.defaultName);
if (_root.nameBox.heroName == _global.defaultName || _root.nameBox.heroName == "")
{
popupIn();
this.attachMovie("SaveHero_MC", "nameHero", 16, {action: buttonText});
return;
}
_global.toolbarCallback.call(_global.toolbarScope);
}
function sendToAFriend()
{
debug.trace("main - send to a friend");
this.attachMovie("SendToFriend_MC", "sendToAFriend", 16);
popupIn();
}
function printHero(reDirect)
{
if (!reDirect)
{
popupIn();
}
printFrame = _root.attachMovie("printFrame", "printFrame", 16, {printing: true});
printFrame._alpha = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween({target: printFrame, alpha: 100, seconds: 0.3, delay: 1});
com.i33.util.Positions.centerOnStage(printFrame);
hero.copyHero(printFrame, 400);
}
function publish(heroXML)
{
trace("publish in main called");
popupIn();
_root.publishFrame = _root.attachMovie("publishFrame", "publishFrame", 16, {_x: 1000});
_root.publishFrame.publishHero = _root.publishFrame.attachMovie("Hero", "publishHero", 10, {publishing: true});
_root.publishFrame.publishHero.rebuildInFrame(heroXML, _root.publishFrame, 700);
}
function downloadHero()
{
popupIn();
com.i33.util.Positions.centerOnStage(printFrame);
printFrame = _root.attachMovie("downloadFrame", "printFrame", 16, {printing: false});
hero.copyHero(printFrame, 475);
printFrame.heroCopy.addEventListener("heroComplete", heroComplete);
}
function heroComplete()
{
debug.trace("I see that your hero is complete");
_root.printFrame.heroCopy._y = _root.printFrame.heroCopy._y + 25;
}
function restart(info, reBuild)
{
trace("+====== restarting");
com.i33.util.MovieClipUtils.remove(panelReveal);
nf = new com.mosesSupposes.fuse.Fuse();
nf.push({target: hero, alpha: 0, seconds: 0.2, delay: 0.5});
nf.push({target: assetMenu, alpha: 0, seconds: 0.2});
nf.push({target: toolBar, alpha: 0, seconds: 0.2});
nf.push({target: bank, alpha: 0, seconds: 0.2});
nf.push({target: smallHolder, alpha: 0, seconds: 0.2});
nf.push([{target: nameBox, y: 250, alpha: 0, ease: "easeInOutExpo", seconds: 0.5}, {target: colorBox, y: 250, alpha: 0, ease: "easeInOutExpo", seconds: 0.5, func: clearItems, args: [info, reBuild]}]);
nf.push({target: vRuleM, x: 110, alpha: 0, seconds: 0.2});
nf.start();
}
function clearItems(info, reBuild)
{
trace("+====== clearing");
Mouse.show();
_global.heroName = _gloabl.defaultName;
com.i33.util.MovieClipUtils.remove(cursor);
com.i33.util.MovieClipUtils.remove(hero);
com.i33.util.MovieClipUtils.remove(assetMenu);
com.i33.util.MovieClipUtils.remove(assetMask);
com.i33.util.MovieClipUtils.remove(bank);
com.i33.util.MovieClipUtils.remove(nameBox);
com.i33.util.MovieClipUtils.remove(toolBar);
com.i33.util.MovieClipUtils.remove(colorBox);
com.i33.util.MovieClipUtils.remove(smallHolder);
_root.changeToSelector(info, reBuild);
}
com.mosesSupposes.fuse.ZigoEngine.simpleSetup(com.mosesSupposes.fuse.Shortcuts, com.mosesSupposes.fuse.PennerEasing, com.mosesSupposes.fuse.FuseItem, com.mosesSupposes.fuse.Fuse);
this._lockroot = true;
var debug = new com.i33.util.debug("cyos");
com.mosesSupposes.fuse.ZigoEngine.simpleSetup(com.mosesSupposes.fuse.Shortcuts, com.mosesSupposes.fuse.PennerEasing, com.mosesSupposes.fuse.FuseItem, com.mosesSupposes.fuse.Fuse);
var time = 0.15;
var delay = 1;
var introComplete = false;
ease1 = "easeOutQuad";
ease2 = "easeOutBack";
ease3 = "easeInQuad";
ease4 = "easeInBack";
ease5 = "easeInQuint";
whiteW = 546;
moveIn = true;
innerOS = 10;
outerOS = 20;
mainBG._alpha = 0;
mainBG.fadeIn(time * 3, ease1, delay / 2);
myBodyTypes;
_focusrect = false;
_global.rebuild = false;
MovieClip.prototype.useHandCursor = Button.prototype.useHandCursor = false;
_global.userTest = false;
_global.noHost = false;
_global.sampleColor = 13209;
_global.toolbarCallback;
_global.toolbarScope;
_global.assetAction = "paint";
var heroScale = 75;
if (_level0.FVhost != undefined)
{
_global.host = _level0.FVhost;
}
if (_root._url.indexOf("file") >= 0)
{
_global.host = "http://192.168.100.106/wasabi/";
}
if (_root._url.indexOf("marvel-dev") >= 0)
{
if (_root._url.indexOf("net") > 0)
{
_global.host = "http://marvel-dev.i33.net/";
}
else
{
_global.host = "http://marvel-dev.i33.com/";
}
}
debug.trace("running with \n" + _global.host);
if (_level0.FVnoHost == "true")
{
_global.noHost = true;
}
if (_level0.FVuserId == undefined)
{
_global.userId = 0;
}
else
{
_global.userId = _level0.FVuserId;
}
if (_level0.FVmemberName == undefined)
{
_global.memberName = "";
}
else
{
_global.memberName = _level0.FVmemberName;
}
debugText._visible = false;
if (_level0.debugWindow == "true")
{
_global.showWhatInWindow = new Array("Hero", "cyos", "Login", "RegisterWindow");
_root.debugText._visible = true;
_root.debugText.text = _root.debugText.text + ("_level0.debugWindow = " + _level0.debugWindow);
_root.debugText.text = _root.debugText.text + ("\nhost = " + _global.host);
_root.debugText.text = _root.debugText.text + ("\n_level0.FVnoHost = " + _level0.FVnoHost);
_root.debugText.text = _root.debugText.text + ("\nnoHost = " + _global.noHost);
_root.debugText.text = _root.debugText.text + ("\n_level0.FVuserTest = " + _level0.FVuserTest);
_root.debugText.text = _root.debugText.text + ("\nuserTest = " + _global.userTest);
_root.debugText.text = _root.debugText.text + ("\nuserId = " + _level0.userId);
_root.debugText.text = _root.debugText.text + ("\nusername = " + _level0.username);
_root.debugText.text = _root.debugText.text + ("\n_global.userId = " + _global.userId);
_root.debugText.text = _root.debugText.text + ("\n_global.memberName = " + _global.memberName);
}
var categories;
_global.characterArray;
_global.heroName = _global.defaultName;
var login = this.attachMovie("login", "login", 14, {x: 100, y: 100});
debug.trace("loaded login " + login);
_global.listenForEnter = false;
keyListener = new Object();
keyListener.onKeyDown = function ()
{
if (Key.isDown(13))
{
debug.trace("pressed enter");
if (_global.listenForEnter)
{
login.authenticate();
}
}
}
;
Key.addListener(keyListener);
startUp();
function bodyTypesLoaded(bodyTypes, restart)
{
selector = this.attachMovie("bodyTypePicker", "selector", 1);
selector.init(bodyTypes, restart);
selector._alpha = 0;
selector._x = Stage.width / 2;
selector._y = 300;
}
function beginGetInta(bodyTypes)
{
myBodyTypes = bodyTypes;
spiderman._y = spiderman._y - 40;
spiderman.slideTo("0", spiderman._y + 40, time * 2, ease2, delay);
spiderman.lineMask.slideTo("0", spiderman.outline._y, time, ease1, delay);
delay = delay + time;
spiderman.whiteMask.slideTo("0", spiderman.whiteFill._y, time, ease1, delay);
delay = delay + time;
spiderman.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
spiderman.outline.fadeOut(time, ease1, delay);
spiderman.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
ironman._x = ironman._x - outerOS;
ironman.slideTo(ironman._x + outerOS, "0", time * 2, ease2, delay);
}
ironman.lineMask.slideTo("0", ironman.outline._y, time, ease1, delay);
delay = delay + time;
ironman.whiteMask.slideTo("0", ironman.whiteFill._y, time, ease1, delay);
delay = delay + time;
ironman.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
ironman.outline.fadeOut(time, ease1, delay);
ironman.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
hulk._x = hulk._x + outerOS;
hulk.slideTo(hulk._x - outerOS, "0", time * 2, ease2, delay);
}
hulk.lineMask.slideTo("0", hulk.outline._y, time, ease1, delay);
delay = delay + time;
hulk.whiteMask.slideTo("0", hulk.whiteFill._y, time, ease1, delay);
delay = delay + time;
hulk.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
hulk.outline.fadeOut(time, ease1, delay);
hulk.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
wolverine._x = wolverine._x - innerOS;
wolverine.slideTo(wolverine._x + innerOS, "0", time * 2, ease2, delay);
}
wolverine.lineMask.slideTo("0", wolverine.outline._y - 5, time, ease1, delay);
delay = delay + time;
wolverine.whiteMask.slideTo("0", wolverine.whiteFill._y - 5, time, ease1, delay);
delay = delay + time;
wolverine.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
wolverine.outline.fadeOut(time, ease1, delay);
wolverine.colorFill.fadeIn(time, ease1, delay);
delay = delay - time * 1.5;
if (moveIn)
{
sue._x = sue._x + innerOS;
sue.slideTo(sue._x - innerOS, "0", time * 2, ease2, delay);
}
sue.lineMask.slideTo("0", sue.outline._y, time, ease1, delay);
delay = delay + time;
sue.whiteMask.slideTo("0", sue.whiteFill._y, time, ease1, delay);
delay = delay + time;
sue.whiteFill.fadeOut(time, ease1, delay);
delay = delay + time;
sue.outline.fadeOut(time, ease1, delay);
sue.colorFill.fadeIn(time, ease1, delay);
delay = delay + time * 3;
time = time * 2;
beginButton._y = beginButton._y - 40;
beginButton.slideTo("0", beginButton._y + 40, time, ease2, delay);
beginButton.beginBG.fadeIn(time, ease1, delay);
delay = delay + time / 2;
beginButton.beginText.fadeIn(time, ease1, delay, setBeginButton);
}
function setBeginButton()
{
trace("=============== get outta");
beginButton.flash1X = beginButton.flash1._x;
beginButton.flash2X = beginButton.flash2._x;
beginButton.bMask.onPress = beginPress;
beginButton.bMask.onRollOver = beginOver;
beginButton.bMask.onRollOut = beginOut;
beginButton.bMask.onRelease = beginRelease;
beginButton.bMask.onReleaseOutside = beginOut;
}
function beginOver()
{
beginButton.flash1.slideTo(beginButton.flash2X, 0.25, "easeOutQuad");
beginButton.flash2.slideTo(beginButton.flash1X, 0.25, "easeOutQuad");
}
function beginOut()
{
beginButton.flash1.slideTo(beginButton.flash1X, 0.25, "easeOutQuad");
beginButton.flash2.slideTo(beginButton.flash2X, 0.25, "easeOutQuad");
beginButton.beginText.alphaTo(100, 0.25, "easeOutQuad");
}
function beginPress()
{
beginButton.beginText.alphaTo(200, 0.1, "easeOutQuad");
}
function beginRelease()
{
beginButton.beginText._alpha = 100;
beginGetOutta();
}
function beginGetOutta(info, reBuild)
{
sueCX = Stage.width / 2 - sue._width / 2;
wolverineCX = Stage.width / 2 - wolverine._width / 2;
ironmanCX = Stage.width / 2 - ironman._width / 2;
hulkCX = Stage.width / 2 - hulk._width / 2;
trace(sueCX + " = " + Stage.width / 2 + " - " + sue._width / 2);
time = 0.15;
delay = 0;
beginButton.fadeOut(time, ease3, delay);
beginButton.slideTo("0", beginButton._y - 40, time, ease4, delay);
delay = delay + time;
wolverine.colorFill.brightOffsetTo(100, time, ease4, delay);
wolverine.outline.swapDepths(wolverine.getNextHighestDepth());
wolverine.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
sue.colorFill.brightOffsetTo(100, time, ease4, delay);
sue.outline.swapDepths(sue.getNextHighestDepth());
sue.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
ironman.colorFill.brightOffsetTo(100, time, ease4, delay);
ironman.outline.swapDepths(ironman.getNextHighestDepth());
ironman.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
hulk.colorFill.brightOffsetTo(100, time, ease4, delay);
hulk.outline.swapDepths(hulk.getNextHighestDepth());
hulk.outline.fadeIn(time, ease1, delay);
delay = delay + 0.1;
spiderman.colorFill.brightOffsetTo(100, time, ease4, delay);
spiderman.outline.swapDepths(spiderman.getNextHighestDepth());
spiderman.outline.fadeIn(time, ease1, delay);
delay = delay + time;
time = 0.25;
wolverine.slideTo(wolverineCX, "0", time, ease4, delay);
sue.slideTo(sueCX, "0", time, ease4, delay);
ironman.slideTo(ironmanCX, "0", time, ease4, delay);
hulk.slideTo(hulkCX, "0", time, ease4, delay);
delay = delay + time / 2;
hulk.fadeOut(time, ease1, delay);
ironman.fadeOut(time, ease1, delay);
sue.fadeOut(time, ease1, delay);
wolverine.fadeOut(time, ease1, delay);
spiderman.fadeOut(time, ease1, delay);
delay = delay - time / 2;
introComplete = true;
whiteBG._x = Stage.width / 2;
whiteBG._alpha = 0;
introComplete = true;
var __reg1 = new com.mosesSupposes.fuse.Fuse();
__reg1.push([{target: vRuleL, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: delay}, {target: vRuleR, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: delay}, {target: introMask, width: 1, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: delay, func: changeToSelector, args: [info, reBuild]}]);
__reg1.start();
}
function changeToSelector(info, reBuild)
{
whiteBG._alpha = 100;
if (!introComplete)
{
debug.trace("introComplete " + introComplete);
beginGetOutta(info, reBuild);
return;
}
if (reBuild)
{
var __reg2 = new com.mosesSupposes.fuse.Fuse();
__reg2.push({target: _root.selector, y: 0, alpha: 0, ease: "easeInBack", seconds: 0.5});
__reg2.push([{target: vRuleL, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: vRuleR, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: whiteBG, width: 0, x: Stage.width / 2, seconds: 0.3, ease: ease3, delay: 0, func: bodySelected, args: [info, reBuild]}]);
__reg2.start();
return;
}
__reg2 = new com.mosesSupposes.fuse.Fuse();
__reg2.push([{target: vRuleL, x: Stage.width / 2 - whiteW / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: vRuleR, x: Stage.width / 2 + whiteW / 2, seconds: 0.3, ease: ease3, delay: 0}, {target: whiteBG, width: whiteW, x: Stage.width / 2 - whiteW / 2, seconds: 0.3, ease: ease3, delay: 0}]);
__reg2.push({target: selector, y: 200, alpha: 100, seconds: 0.3, ease: ease1, delay: 0});
__reg2.start();
}
function bodySelected(bodyInfo, reBuild)
{
var __reg6 = undefined;
if (reBuild)
{
debug.trace("rebuild with id " + bodyInfo.attributes.body_type_id);
heroData = new com.i33.marvel.HeroData(bodyInfo.attributes.body_type_id);
heroData.bodyId = bodyInfo.attributes.body_type_id;
heroData.heroId = bodyInfo.attributes.hero_id;
heroData.name = bodyInfo.attributes.name;
__reg6 = bodyInfo.attributes.body_type_id;
hero = _root.attachMovie("Hero", "hero", 7, heroData);
hero.rebuild(bodyInfo, true);
}
else
{
heroData = new com.i33.marvel.HeroData(bodyInfo);
__reg6 = bodyInfo;
hero = this.attachMovie("Hero", "hero", 7, heroData);
}
hero._alpha = 0;
hero._xscale = heroScale;
hero._yscale = heroScale;
hero._x = 385;
hero._y = 50;
var __reg5 = hero.createEmptyMovieClip("gradBox", hero.getNextHighestDepth());
var __reg12 = new com.i33.marvel.GradLine(__reg5, hero.outline._width, hero.outline._height);
__reg5._x = hero.outline._x;
__reg5._y = hero.outline._y;
__reg5.swapDepths(hero.color1);
__reg5.setMask(hero.color1);
var __reg7 = new com.mosesSupposes.fuse.Fuse();
__reg7.push({target: hero, Blur_blur: 0, _yscale: 130, ease: "easeInBack", seconds: 0});
__reg7.start(true);
com.mosesSupposes.fuse.FuseFMP.setFilterProps(hero.body, "Glow", {Glow_color: 16777215});
closeSelector(__reg6);
categories = new com.i33.marvel.AssetCategories(_global.host + "assets/" + __reg6 + ".xmlz");
}
function assetCategoriesLoaded(assetCategoriesArray)
{
assetMenu = this.attachMovie("menu", "assetMenu", 2);
assetMask = this.createEmptyMovieClip("assetMask", 3);
assetMask.beginFill(16711680);
assetMask.lineTo(110, 0);
assetMask.lineTo(110, 400);
assetMask.lineTo(0, 400);
assetMask._y = (Stage.height - assetMask._height) / 2;
assetMenu._x = 9;
assetMenu._y = 250;
assetMenu._alpha = 100;
debug.trace("categories loaded starting menu...");
assetMenu.assetCategoriesArray = assetCategoriesArray;
assetMenu.setMask(assetMask);
toolBar = attachMovie("toolButtons_MC", "toolBar", 9, {homeX: 970, homeY: 350, animDelay: 1.5});
toolBarListener.addListener(toolBar);
}
function closeSelector(id)
{
marginL = 110;
marginM = 385;
marginR = 950;
heroHomeX = 385;
hero._x = heroHomeX;
hero._y = heroHomeY;
com.mosesSupposes.fuse.ZigoEngine.doTween({target: selector, _y: 0, _alpha: 0, ease: "easeInBack", seconds: 0.5, func: createSmallHero, args: id});
}
function createSmallHero(b)
{
selector._y = 0 - selector._height;
smallHolder = _root.createEmptyMovieClip("smallHolder", 10);
smallHolder._alpha = 100;
smallHero = smallHolder.attachMovie("Hero", "smallHero", smallHolder.getNextHighestDepth());
startOver = smallHolder.attachMovie("startOver", "SO", smallHolder.getNextHighestDepth());
myMCL = new MovieClipLoader();
myMCL.onLoadInit = function (targ)
{
trace("@@@loaded small hero");
setSmallHero();
startOver._y = smallHolder._height + 5;
smallHeroHit = smallHolder.createEmptyMovieClip("smallHit", smallHolder.getNextHighestDepth());
smallHeroHit._alpha = 0;
smallHeroHit.moveTo(0, 0);
smallHeroHit.beginFill(16711680);
smallHeroHit.lineTo(110, 0);
smallHeroHit.lineTo(110, smallHolder._height);
smallHeroHit.lineTo(0, smallHolder._height);
}
;
myMCL.addListener(this);
trace("loading " + _global.host + "bodyTypes/" + b + ".swf");
myMCL.loadClip(_global.host + "bodyTypes/" + b + ".swf", smallHero);
heroTransitionIn();
}
function setSmallHero()
{
function smallRollOver()
{
smallHolder.smallHero.color2.filters = smallFilters;
startOver.startText.colorTo(276874, 0);
}
trace("setting small hero " + smallHero);
smallHero._xscale = 20;
smallHero._yscale = 20;
smallHero._x = 0;
smallHero._y = 0;
smallColor = new Color(smallHero.color1);
smallColor.setRGB(15921906);
smallFilters = new Array();
glow = new flash.filters.GlowFilter(16777215, 0.9, 3, 3, 5, 3, false, false);
dropShadow = new flash.filters.DropShadowFilter(0, 0, 0, 0.8, 6, 6, 0.8, 3, false, false, false);
smallFilters.push(glow, dropShadow);
smallHolder.onRollOver = mx.utils.Delegate.create(this, smallRollOver);
smallHolder.onRollOut = smallHolder.onDragOut = function ()
{
this.smallHero.color2.filters = null;
startOver.startText.colorTo(10066329, 0);
}
;
smallHolder.onPress = function ()
{
_global.rebuild = false;
showMessageWindow("You will lose all changes made since last save.", true, restart);
}
;
}
function heroTransitionIn()
{
duplicateMovieClip(vRuleL, "vRuleM", 16384);
vRuleM._alpha = 0;
var __reg1 = new com.mosesSupposes.fuse.Fuse();
__reg1.push([{target: vRuleL, x: marginL, seconds: 0.2, ease: "easeInBack"}, {target: vRuleR, x: marginR, seconds: 0.2, ease: "easeInBack"}, {target: whiteBG, x: marginL, _alpha: 100, _width: marginR - marginL, seconds: 0.2, ease: "easeInBack"}]);
__reg1.push({target: smallHolder, alpha: 100, ease: "easeInBack", seconds: 0.2});
__reg1.push({target: hero, Blur_blur: 0, alpha: 100, _yscale: heroScale, ease: "easeInBack", seconds: 0.5});
__reg1.push({target: hero.body, Glow_color: 3753306, Glow_alpha: 0.2, Glow_blurX: 20, Glow_blurY: 20, Glow_strength: 2, time: 0.3, ease: "easeInQuad", func: changeToBuilder});
__reg1.start();
}
function changeToBuilder()
{
cursor = _root.attachMovie("mouseCursor", "cursor", 100);
var __reg11 = _root.attachMovie("panelReveal", "panelReveal", 5, {_x: marginL + 3, _y: 180, _alpha: 0});
var __reg4 = _root.attachMovie("NameYourCharacterBox_MC", "nameBox", 6, {_x: marginL + 3, _y: 250, _alpha: 0});
var __reg2 = _root.attachMovie("colorWindow", "colorBox", 8, {_x: marginL + 3, _y: 250, _alpha: 0});
var __reg5 = __reg2.attachMovie("ToolBar", "tools", __reg2.getNextHighestDepth());
__reg5._x = __reg2._width + 7;
var __reg3 = new com.mosesSupposes.fuse.Fuse();
__reg3.push({target: vRuleM, x: 385, alpha: 100, ease: "easeInBack", seconds: 0.3});
__reg3.push([{target: __reg4, y: 50, _alpha: 100, ease: "easeInOutExpo", seconds: 0.75}, {target: __reg2, y: 539, _alpha: 50, ease: "easeInOutExpo", seconds: 0.75, func: checkRebuild}]);
__reg3.start();
assetMenu.buildMenu();
}
function checkRebuild()
{
if (_global.rebuild)
{
_root.colorBox.tools.enableTools();
}
}
function startUp()
{
_root.loadBodyTypes = new com.i33.marvel.LoadBodyTypes();
}
function openMyCharacters()
{
debug.trace("openMyCharacters");
characterWindow = this.attachMovie("MyCharacterWindow_MC", "characterWindow", 16);
characterWindow.createGallery();
debug.trace("MyCharacterWindow_MC pressed");
popupIn();
}
function showMessageWindow(message, cnclBtn, cbk)
{
debug.trace("showMessageWindow");
messageWindow = this.attachMovie("messageWindow", "messageWindow", 16);
messageWindow.text = message;
messageWindow.cbk = cbk;
if (cnclBtn)
{
messageWindow.addCncl();
}
popupIn();
}
function popupIn()
{
showWhiteOut = true;
whiteOut = _root.attachMovie("whiteBox", "whiteOut", 15);
whiteOut._alpha = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween({target: whiteOut, _alpha: 80, seconds: 0.25, ease: "easeOutQuad"});
whiteOut._width = Stage.width;
whiteOut._height = Stage.height;
whiteOut.useHandCursor = false;
whiteOut.onPress = function ()
{
}
;
}
function popupOut(doCallback)
{
trace("removing popup");
var __reg2 = new Object();
if (doCallback)
{
__reg2.func = popupOutOver;
_global.toolbarCallback.call(_global.toolbarScope, true);
return;
}
com.mosesSupposes.fuse.ZigoEngine.doTween({target: whiteOut, _alpha: 0, seconds: 0.25, ease: "easeOutQuad"});
delete whiteOut.onPress;
showWhiteOut = false;
}
function popupOutOver()
{
trace("popup over");
delete whiteOut.onPress;
_global.toolbarCallback = null;
_global.toolbarScope = null;
}
function maskAndLoad(a)
{
panelReveal.spinner.startAnim();
if (_root.hero.name == undefined)
{
_root.nameBox.heroname = _global.heroName;
debug.trace("_root.hero.name == undefined " + _global.heroName);
}
else
{
_root.nameBox.heroName = _root.hero.name;
}
com.mosesSupposes.fuse.ZigoEngine.doTween({target: panelReveal, _alpha: 100, seconds: 0.5, ease: "easeInQuad", delay: 0, func: fillBank, args: [a]});
}
function fillBank(a)
{
_root.bank.removeMovieClip();
var __reg2 = _root.attachMovie("assetPanel", "bank", 4);
__reg2._x = 113;
__reg2._y = 189;
__reg2.init(a);
}
function revealBank()
{
panelReveal.spinner.stopAnim();
panelReveal.alphaTo(0, 0.5);
}
function openRegisterWindow()
{
debug.trace("register");
register = _root.attachMovie("RegisterWindow_MC", "register", 16);
popupIn();
}
function renameWindow(buttonText)
{
debug.trace("_global.defaultName :" + _global.defaultName);
if (_root.nameBox.heroName == _global.defaultName || _root.nameBox.heroName == "")
{
popupIn();
this.attachMovie("SaveHero_MC", "nameHero", 16, {action: buttonText});
return;
}
_global.toolbarCallback.call(_global.toolbarScope);
}
function sendToAFriend()
{
debug.trace("main - send to a friend");
this.attachMovie("SendToFriend_MC", "sendToAFriend", 16);
popupIn();
}
function printHero(reDirect)
{
if (!reDirect)
{
popupIn();
}
printFrame = _root.attachMovie("printFrame", "printFrame", 16, {printing: true});
printFrame._alpha = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween({target: printFrame, alpha: 100, seconds: 0.3, delay: 1});
com.i33.util.Positions.centerOnStage(printFrame);
hero.copyHero(printFrame, 400);
}
function publish(heroXML)
{
trace("publish in main called");
popupIn();
_root.publishFrame = _root.attachMovie("publishFrame", "publishFrame", 16, {_x: 1000});
_root.publishFrame.publishHero = _root.publishFrame.attachMovie("Hero", "publishHero", 10, {publishing: true});
_root.publishFrame.publishHero.rebuildInFrame(heroXML, _root.publishFrame, 700);
}
function downloadHero()
{
popupIn();
com.i33.util.Positions.centerOnStage(printFrame);
printFrame = _root.attachMovie("downloadFrame", "printFrame", 16, {printing: false});
hero.copyHero(printFrame, 475);
printFrame.heroCopy.addEventListener("heroComplete", heroComplete);
}
function heroComplete()
{
debug.trace("I see that your hero is complete");
_root.printFrame.heroCopy._y = _root.printFrame.heroCopy._y + 25;
}
function restart(info, reBuild)
{
trace("+====== restarting");
com.i33.util.MovieClipUtils.remove(panelReveal);
nf = new com.mosesSupposes.fuse.Fuse();
nf.push({target: hero, alpha: 0, seconds: 0.2, delay: 0.5});
nf.push({target: assetMenu, alpha: 0, seconds: 0.2});
nf.push({target: toolBar, alpha: 0, seconds: 0.2});
nf.push({target: bank, alpha: 0, seconds: 0.2});
nf.push({target: smallHolder, alpha: 0, seconds: 0.2});
nf.push([{target: nameBox, y: 250, alpha: 0, ease: "easeInOutExpo", seconds: 0.5}, {target: colorBox, y: 250, alpha: 0, ease: "easeInOutExpo", seconds: 0.5, func: clearItems, args: [info, reBuild]}]);
nf.push({target: vRuleM, x: 110, alpha: 0, seconds: 0.2});
nf.start();
}
function clearItems(info, reBuild)
{
trace("+====== clearing");
Mouse.show();
_global.heroName = _gloabl.defaultName;
com.i33.util.MovieClipUtils.remove(cursor);
com.i33.util.MovieClipUtils.remove(hero);
com.i33.util.MovieClipUtils.remove(assetMenu);
com.i33.util.MovieClipUtils.remove(assetMask);
com.i33.util.MovieClipUtils.remove(bank);
com.i33.util.MovieClipUtils.remove(nameBox);
com.i33.util.MovieClipUtils.remove(toolBar);
com.i33.util.MovieClipUtils.remove(colorBox);
com.i33.util.MovieClipUtils.remove(smallHolder);
_root.changeToSelector(info, reBuild);
}
com.mosesSupposes.fuse.ZigoEngine.simpleSetup(com.mosesSupposes.fuse.Shortcuts, com.mosesSupposes.fuse.PennerEasing, com.mosesSupposes.fuse.FuseItem, com.mosesSupposes.fuse.Fuse);
this._lockroot = true;
var debug = new com.i33.util.debug("cyos");
com.mosesSupposes.fuse.ZigoEngine.simpleSetup(com.mosesSupposes.fuse.Shortcuts, com.mosesSupposes.fuse.PennerEasing, com.mosesSupposes.fuse.FuseItem, com.mosesSupposes.fuse.Fuse);
var time = 0.15;
var delay = 1;
var introComplete = false;
ease1 = "easeOutQuad";
ease2 = "easeOutBack";
ease3 = "easeInQuad";
ease4 = "easeInBack";
ease5 = "easeInQuint";
whiteW = 546;
moveIn = true;
innerOS = 10;
outerOS = 20;
mainBG._alpha = 0;
mainBG.fadeIn(time * 3, ease1, delay / 2);
myBodyTypes;
_focusrect = false;
_global.rebuild = false;
MovieClip.prototype.useHandCursor = Button.prototype.useHandCursor = false;
_global.userTest = false;
_global.noHost = false;
_global.sampleColor = 13209;
_global.toolbarCallback;
_global.toolbarScope;
_global.assetAction = "paint";
var heroScale = 75;
if (_level0.FVhost != undefined)
{
_global.host = _level0.FVhost;
}
if (_root._url.indexOf("file") >= 0)
{
_global.host = "http://192.168.100.106/wasabi/";
}
if (_root._url.indexOf("marvel-dev") >= 0)
{
if (_root._url.indexOf("net") > 0)
{
_global.host = "http://marvel-dev.i33.net/";
}
else
{
_global.host = "http://marvel-dev.i33.com/";
}
}
debug.trace("running with \n" + _global.host);
if (_level0.FVnoHost == "true")
{
_global.noHost = true;
}
if (_level0.FVuserId == undefined)
{
_global.userId = 0;
}
else
{
_global.userId = _level0.FVuserId;
}
if (_level0.FVmemberName == undefined)
{
_global.memberName = "";
}
else
{
_global.memberName = _level0.FVmemberName;
}
debugText._visible = false;
if (_level0.debugWindow == "true")
{
_global.showWhatInWindow = new Array("Hero", "cyos", "Login", "RegisterWindow");
_root.debugText._visible = true;
_root.debugText.text = _root.debugText.text + ("_level0.debugWindow = " + _level0.debugWindow);
_root.debugText.text = _root.debugText.text + ("\nhost = " + _global.host);
_root.debugText.text = _root.debugText.text + ("\n_level0.FVnoHost = " + _level0.FVnoHost);
_root.debugText.text = _root.debugText.text + ("\nnoHost = " + _global.noHost);
_root.debugText.text = _root.debugText.text + ("\n_level0.FVuserTest = " + _level0.FVuserTest);
_root.debugText.text = _root.debugText.text + ("\nuserTest = " + _global.userTest);
_root.debugText.text = _root.debugText.text + ("\nuserId = " + _level0.userId);
_root.debugText.text = _root.debugText.text + ("\nusername = " + _level0.username);
_root.debugText.text = _root.debugText.text + ("\n_global.userId = " + _global.userId);
_root.debugText.text = _root.debugText.text + ("\n_global.memberName = " + _global.memberName);
}
var categories;
_global.characterArray;
_global.heroName = _global.defaultName;
var login = this.attachMovie("login", "login", 14, {x: 100, y: 100});
debug.trace("loaded login " + login);
_global.listenForEnter = false;
keyListener = new Object();
keyListener.onKeyDown = function ()
{
if (Key.isDown(13))
{
debug.trace("pressed enter");
if (_global.listenForEnter)
{
login.authenticate();
}
}
}
;
Key.addListener(keyListener);
startUp();
Thursday, February 5, 2009
Flash Video for Professionals > Reviews > Flash Magazine
Flash Video for Professionals > Reviews > Flash Magazine: "Flash Video for Professionals
This is a slightly different book on Flash video. It covers the Flash video basics, creating video players and eye candy, but it also has some interesting extras that could save you money. It is very hands on with few step-by-step guides and has a wide focus that tries to cover both developers and designers. It's mostly for developers though.
TITLE: Flash Video for Professionals
AUTHOR: Lisa larson and Ren�e Constantini
This is a slightly different book on Flash video. It covers the Flash video basics, creating video players and eye candy, but it also has some interesting extras that could save you money. It is very hands on with few step-by-step guides and has a wide focus that tries to cover both developers and designers. It's mostly for developers though.
TITLE: Flash Video for Professionals
AUTHOR: Lisa larson and Ren�e Constantini
OPEN VIDEO PLAYER
OPEN VIDEO PLAYER
The latest release of the Open Video Player are project files for the rapid development of video player applications based in Adobe Flash and Microsoft Silverlight.
The latest release of the Open Video Player are project files for the rapid development of video player applications based in Adobe Flash and Microsoft Silverlight.
OPEN VIDEO PLAYER you can use to build your code off of....
OPEN VIDEO PLAYER
The framework is developed by Akamai lead engineer Will Law and the code is released as "Open Source" and can be used and extended freely. Akamai have chosen not to use one of the standard licenses, but they use a custom license that says that you get "a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license". Community contributions are welcome and there's several examples of how you'd use the code to create a custom FLV video player.
The framework is not a fully blown framework or a pre-made player. It's a set of classes that extend the native NetConnection classes with useful features for video such as:
* Connecting to Akamai (and other services) through firewalls and proxy servers
* Measure bandwidth
* Double buffering
* Play protected, live and encrypted streams
* Handling cue points
* Read playlists in Media RSS format
In other words, these classes are a clever way to start developing your own Actionscript 3 (AS3) video player for either streaming or progressive download. Several streaming video partners support the initiative such as EyeWonder, Panache, Microsoft, Adobe and others. Adobe is already using the classes in their Adobe.tv player.
The site offers several videos featuring the partners, but the video you'll want to check out is the one by Will Law (called "Media Framework Overview"). Here he explains the basics and also shows how to build a simple video player using the system. More tutorials by Will should follow soon.
The framework is developed by Akamai lead engineer Will Law and the code is released as "Open Source" and can be used and extended freely. Akamai have chosen not to use one of the standard licenses, but they use a custom license that says that you get "a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license". Community contributions are welcome and there's several examples of how you'd use the code to create a custom FLV video player.
The framework is not a fully blown framework or a pre-made player. It's a set of classes that extend the native NetConnection classes with useful features for video such as:
* Connecting to Akamai (and other services) through firewalls and proxy servers
* Measure bandwidth
* Double buffering
* Play protected, live and encrypted streams
* Handling cue points
* Read playlists in Media RSS format
In other words, these classes are a clever way to start developing your own Actionscript 3 (AS3) video player for either streaming or progressive download. Several streaming video partners support the initiative such as EyeWonder, Panache, Microsoft, Adobe and others. Adobe is already using the classes in their Adobe.tv player.
The site offers several videos featuring the partners, but the video you'll want to check out is the one by Will Law (called "Media Framework Overview"). Here he explains the basics and also shows how to build a simple video player using the system. More tutorials by Will should follow soon.
Adobe - Developer Center : Adobe Flash Platform ActionScript reference for RIA development
Adobe - Developer Center : Adobe Flash Platform ActionScript reference for RIA development: "This ActionScript reference for rich Internet application development provides an alphabetical reference for all native ActionScript APIs for the Adobe Flash platform runtimes: Adobe Flash Player and Adobe AIR—as well as the Adobe Flex framework APIs. Use this guide both as an API reference and a tool to learn about the ActionScript APIs available within the runtimes."
AS3 Reference for iPhone > News > Flash Magazine
AS3 Reference for iPhone > News > Flash Magazine: "A lot of Flash developers are looking into iPhone development and so is Adobe's Mike Chambers. His first iPhone application is a great pocket reference for AS3, covering Flash Player 10, AIR 1.5, and Flex 3.2."
If you've attended any Adobe event recently, you may have received a copy of the Actionscript 3 RIA API Guide. While a paper booklet or PDF is nice to have, nothing beats having information in you pocket wherever you go. Flash Developers have a special interest in new technology and quite a few of us have an iPhone or iPod Touch. By installing Mike's new application, you'll have every AS3 class in the API for the Player, AIR and Flex right in your pocket.
For now, you can only browse the APIs by class name, but Mike has put up a poll where you can suggest and vote for future features. Filtering classes by IDE/Runtime and adding a real lexical search engine is among our favorites.
As with all other iPhone apps, installing it is a breeze and since all the docs are built into the app, you don't need to be online to use it either. Mike has always been great at making it easier to access documentation and he's even built an API for retrieving the LiveDocs page for a given class. This latest addition is a must-have for any Flash Dev with an iPhone. Go ahead and install today!
Update: If you're one of the lucky few americans that have a Google Android phone, Jonathan Dunlap have just made an AS3 Reference for Android as well.
If you've attended any Adobe event recently, you may have received a copy of the Actionscript 3 RIA API Guide. While a paper booklet or PDF is nice to have, nothing beats having information in you pocket wherever you go. Flash Developers have a special interest in new technology and quite a few of us have an iPhone or iPod Touch. By installing Mike's new application, you'll have every AS3 class in the API for the Player, AIR and Flex right in your pocket.
For now, you can only browse the APIs by class name, but Mike has put up a poll where you can suggest and vote for future features. Filtering classes by IDE/Runtime and adding a real lexical search engine is among our favorites.
As with all other iPhone apps, installing it is a breeze and since all the docs are built into the app, you don't need to be online to use it either. Mike has always been great at making it easier to access documentation and he's even built an API for retrieving the LiveDocs page for a given class. This latest addition is a must-have for any Flash Dev with an iPhone. Go ahead and install today!
Update: If you're one of the lucky few americans that have a Google Android phone, Jonathan Dunlap have just made an AS3 Reference for Android as well.
Flash Player 10 and AIR stats published > News > Flash Magazine
Flash Player 10 and AIR stats published > News > Flash Magazine: "Just as Adobe MAX Japan kicks off, Adobe published the new Flash Player statistics and they're really impressive. 55% distribution in just two months. The numbers for the Adobe Integrated Runtime (AIR) are just as impressive - 100 million installs."
Adobe and Apple working on Flash on the iPhone together > News > Flash Magazine
Adobe and Apple working on Flash on the iPhone together > News > Flash Magazine: "Adobe have been working on a custom version of the Flash Player for the iPhone. This player has never been released to the public and todays Bloomberg story hints at the reason it's still not released. Shantanu says 'It’s a hard technical challenge, and that’s part of the reason Apple and Adobe are collaborating'. We'd guess from this that it is indeed the slow processor in the iPhone that is the culprit. Initial speculations indicated that the iPhone had a 620Mhz CPU. Later reports adjusted that down to about 400Mhz. Several years ago I did Flash development on iPaq handhelds with similar chips and that was a speed-wise nighmare. Flash just won't run fast enough on that. We guess all we can do is to wish the Adobe Flash Player engineers the best of luck. (via AppleInsider)"
FDT 3.0
The auto-complete in FDT is really clever and speeds up the development process. If you change a class so this will break functionality in other classes using it, you'll get instant feedback in the project view making it easy to see where you'll need to update your project. FDT even inspects compiled SWCs, making it easier to use external libraries by creating intrinsic classes for these. If you're using libraries that change often, you'll be able to easily see if a new version of a library breaks your project.
FDT also does optimization at compile-time, so if you have duplicate classes (i.e. in SWC libraries), FDT will optimize these unwanted classes away before compiling. Another great feature showed in Cologne was a powerful code formatter that can be a huge timesaver if you have developers with varying coding style. Using this, you could quickly standardize your code.
The new version also features changes to the pricing. FDT will now be offered as FDT Student, FDT Basic and FDT Enterprise. The difference is mainly in the pricing and the amount of support offered. PowerFlasher still offers the plugin for free to "brilliant OS developers", so if you feel that you qualify, you can apply for that as well. The new version is called 3.0 even though the former version was 1.5. We assume this is just a numbers game, not to be outnumbered when Flex 3 arrives?
FDT also does optimization at compile-time, so if you have duplicate classes (i.e. in SWC libraries), FDT will optimize these unwanted classes away before compiling. Another great feature showed in Cologne was a powerful code formatter that can be a huge timesaver if you have developers with varying coding style. Using this, you could quickly standardize your code.
The new version also features changes to the pricing. FDT will now be offered as FDT Student, FDT Basic and FDT Enterprise. The difference is mainly in the pricing and the amount of support offered. PowerFlasher still offers the plugin for free to "brilliant OS developers", so if you feel that you qualify, you can apply for that as well. The new version is called 3.0 even though the former version was 1.5. We assume this is just a numbers game, not to be outnumbered when Flex 3 arrives?
The Dev Zone
FDT 3 – Development Tool for Flash
FDT 3 is the most powerful development environment for serious Flash and AS2/AS3 programming. With its highly efficient and time-saving features, FDT 3 will enhance your coding workflow and increase your productivity enormously.
Try out FDT 3 and discover pure coding comfort.
FDT is an amazing plug-in for the already mighty platform Eclipse. Thereby, it is platform independent and usable on nearly every system.
With FDT 3, Eclipse turns into a powerful Flash and ActionScript editor with a workspace-wide incremental builder providing expend features like live error highlighting and quickfixes without compiling. Advanced code completion speeds up your workflow as well as auto code generation for variables, functions or even classes. The integrated formatter allows comprehensive and complex code customizing at any time. By the refactoring function, renaming of functions or classes at high project level becomes quite simple.
For more, FDT integrates the Flex SDK Debugger into the Eclipse Debugging Perspective to provide the same debugging comfort as known from JDT and FlexBuilder
The Dev Zone
FDT 3 is the most powerful development environment for serious Flash and AS2/AS3 programming. With its highly efficient and time-saving features, FDT 3 will enhance your coding workflow and increase your productivity enormously.
Try out FDT 3 and discover pure coding comfort.
FDT is an amazing plug-in for the already mighty platform Eclipse. Thereby, it is platform independent and usable on nearly every system.
With FDT 3, Eclipse turns into a powerful Flash and ActionScript editor with a workspace-wide incremental builder providing expend features like live error highlighting and quickfixes without compiling. Advanced code completion speeds up your workflow as well as auto code generation for variables, functions or even classes. The integrated formatter allows comprehensive and complex code customizing at any time. By the refactoring function, renaming of functions or classes at high project level becomes quite simple.
For more, FDT integrates the Flex SDK Debugger into the Eclipse Debugging Perspective to provide the same debugging comfort as known from JDT and FlexBuilder
The Dev Zone
Wednesday, February 4, 2009
Page layout - Wikipedia, the free encyclopedia
Page layout - Wikipedia, the free encyclopedia:
"With modern media content retrieval and output technology, there is much overlap between visual communications (front-end) and information technology (back-end). Large print publications (thick books, especially instructional in nature) and electronic pages (web pages) require meta data for automatic indexing, automatic reformatting, database publishing, dynamic page display and end-user interactivity. Much of the meta data (meta tags) must be hand coded or specified during the page layout process. This divides the task of page layout between artists and engineers, or tasks the artist/engineer to do both.
More complex projects may require two separate designs: page layout design as the front-end, and function coding as the back-end. In this case, the front-end may be designed using the alternate page layout technology such as image editing software or on paper with hand rendering methods. Most image editing software includes features for converting a page layout for use in a 'What You See Is What You Get' (WYSIWYG) editor or features to export graphics for desktop publishing software. WYSIWYG editors and desktop publishing software allow front-end design prior to back end-coding in most cases. Interface design and database publishing may involve more technical knowledge or collaboration with information technology engineering in the front-end.
Grids versus templates
Grids and templates are page layout design patterns used in advertising campaigns and multiple page publications, including websites.
A grid is a set of guidelines, visible in the design process and invisible to the end-user/audience, for aligning and repeating elements on a page. A page layout may or may not stay within those guidelines, depending on how much repetition or variety the design style in the series calls for. Grids are meant to be flexible. Using a grid to layout elements on the page may require just as much or more graphic design skill than that which was required to design the grid.
In contrast, a template is more rigid. A template involves repeated elements mostly visible to the end-user/audience. Using a template to layout elements usually involves less graphic design skill than that which was required to design the template. Templates are used for minimal modification of background elements and frequent modification (or swapping) of foreground content.
Most desktop publishing software allows for grids in the form of a page filled with automatic dots placed at a specified equal horizontal and vertical distance apart. Automatic margins and booklet spine (gutter) lines may be specified for global use throughout the document. Multiple additional horizontal and vertical lines may be placed at any point on the page. Invisible to the end-user/audience shapes may be placed on the page as guidelines for page layout and print processing as well.
Software templates are achieved by duplicating a template data file, or with master page features in a multiple page document. Master pages may include both grid elements and template elements such as header and footer elements, automatic page numbering, and automatic table of contents features.
"With modern media content retrieval and output technology, there is much overlap between visual communications (front-end) and information technology (back-end). Large print publications (thick books, especially instructional in nature) and electronic pages (web pages) require meta data for automatic indexing, automatic reformatting, database publishing, dynamic page display and end-user interactivity. Much of the meta data (meta tags) must be hand coded or specified during the page layout process. This divides the task of page layout between artists and engineers, or tasks the artist/engineer to do both.
More complex projects may require two separate designs: page layout design as the front-end, and function coding as the back-end. In this case, the front-end may be designed using the alternate page layout technology such as image editing software or on paper with hand rendering methods. Most image editing software includes features for converting a page layout for use in a 'What You See Is What You Get' (WYSIWYG) editor or features to export graphics for desktop publishing software. WYSIWYG editors and desktop publishing software allow front-end design prior to back end-coding in most cases. Interface design and database publishing may involve more technical knowledge or collaboration with information technology engineering in the front-end.
Grids versus templates
Grids and templates are page layout design patterns used in advertising campaigns and multiple page publications, including websites.
A grid is a set of guidelines, visible in the design process and invisible to the end-user/audience, for aligning and repeating elements on a page. A page layout may or may not stay within those guidelines, depending on how much repetition or variety the design style in the series calls for. Grids are meant to be flexible. Using a grid to layout elements on the page may require just as much or more graphic design skill than that which was required to design the grid.
In contrast, a template is more rigid. A template involves repeated elements mostly visible to the end-user/audience. Using a template to layout elements usually involves less graphic design skill than that which was required to design the template. Templates are used for minimal modification of background elements and frequent modification (or swapping) of foreground content.
Most desktop publishing software allows for grids in the form of a page filled with automatic dots placed at a specified equal horizontal and vertical distance apart. Automatic margins and booklet spine (gutter) lines may be specified for global use throughout the document. Multiple additional horizontal and vertical lines may be placed at any point on the page. Invisible to the end-user/audience shapes may be placed on the page as guidelines for page layout and print processing as well.
Software templates are achieved by duplicating a template data file, or with master page features in a multiple page document. Master pages may include both grid elements and template elements such as header and footer elements, automatic page numbering, and automatic table of contents features.
Thumbnail - Wikipedia, the free encyclopedia
Thumbnail - Wikipedia, the free encyclopedia
Art directors and graphic designers use the term "thumbnail sketch" to describe a small drawing on paper (usually part of a group) used to explore multiple ideas quickly. Thumbnail sketches are similar to doodles, but may include as much detail as a small sketch.
Art directors and graphic designers use the term "thumbnail sketch" to describe a small drawing on paper (usually part of a group) used to explore multiple ideas quickly. Thumbnail sketches are similar to doodles, but may include as much detail as a small sketch.
Comprehensive layout - Wikipedia, the free encyclopedia
Comprehensive layout - Wikipedia, the free encyclopedia
In graphic design and advertising, a comprehensive, usually shortened to comp, is the page layout of a proposed design as initially presented by the designer to a client, showing the relative positions of text and illustrations before the specific content of those elements has been decided on, as a rough draft of the final layout in which to build around.
The illustration element may incorporate stock photography, clip art, or other found material that gives an idea of what should be visually communicated, before entering any negotiations concerning the rights to use a specific image for the purpose. Picture agencies may encourage such use free of charge, in the hope that the comp image will end up being used in the final product. For this reason, it is sometimes mistakenly believed that "comp" is short for "complimentary," as it is in some other promotional contexts.
Even in the age of rapid desktop publishing software, comps may be developed using hand-rendering techniques and materials to avoid investing too much time on the computer before client approval of the idea, depending on the complexity of the production task. A hand-rendered comp may be useful in helping the client refrain from "nitpicking" the production quality and focus on the design idea.
"Comp" may also stand for composition layout.
In graphic design and advertising, a comprehensive, usually shortened to comp, is the page layout of a proposed design as initially presented by the designer to a client, showing the relative positions of text and illustrations before the specific content of those elements has been decided on, as a rough draft of the final layout in which to build around.
The illustration element may incorporate stock photography, clip art, or other found material that gives an idea of what should be visually communicated, before entering any negotiations concerning the rights to use a specific image for the purpose. Picture agencies may encourage such use free of charge, in the hope that the comp image will end up being used in the final product. For this reason, it is sometimes mistakenly believed that "comp" is short for "complimentary," as it is in some other promotional contexts.
Even in the age of rapid desktop publishing software, comps may be developed using hand-rendering techniques and materials to avoid investing too much time on the computer before client approval of the idea, depending on the complexity of the production task. A hand-rendered comp may be useful in helping the client refrain from "nitpicking" the production quality and focus on the design idea.
"Comp" may also stand for composition layout.
video editing software, digital video editing | Adobe Premiere Pro CS4
video editing software, digital video editing | Adobe Premiere Pro CS4
remember, for PC only... need final cut or final cut express for the mac
remember, for PC only... need final cut or final cut express for the mac
Monday, February 2, 2009
Subscribe to:
Posts (Atom)