PDA

Volledige versie bekijken : MX: optimaliseren script


AKNL
%Europe/Berlin %530 %2005, 13:44
Is er een manier om onderstaande code te vereenvoudigen? Misshcien dat ik sommige dingen kan combineren? Ik merk namelijk dat de performance naar beneden gaat dmv dit script.
Misschien met een array? De meeste code is namelijk identiek, alleen de MC en de VAR veranderd. Ik gebruik MX dus AS1 en player6 only :(


kleur1 = new Color(_root.hoofdvlakcijfers);

lv1 = new LoadVars();
lv1.onLoad = function(success1) {
if(success1) {
r = parseInt(lv1.kleurcijfers.substr(1, 2), 16);
g = parseInt(lv1.kleurcijfers.substr(3, 2), 16);
b = parseInt(lv1.kleurcijfers.substr(5, 2), 16);
kleur1.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv1.load("waarden.txt");

kleur2 = new Color(_root.hoofdvlakmutaties);

lv2 = new LoadVars();
lv2.onLoad = function(success2) {
if(success2) {
r = parseInt(lv2.kleurmutaties.substr(1, 2), 16);
g = parseInt(lv2.kleurmutaties.substr(3, 2), 16);
b = parseInt(lv2.kleurmutaties.substr(5, 2), 16);
kleur2.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv2.load("waarden.txt");

kleur3 = new Color(_root.hoofdvlakroosters);

lv3 = new LoadVars();
lv3.onLoad = function(success3) {
if(success3) {
r = parseInt(lv3.kleurroosters.substr(1, 2), 16);
g = parseInt(lv3.kleurroosters.substr(3, 2), 16);
b = parseInt(lv3.kleurroosters.substr(5, 2), 16);
kleur3.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv3.load("waarden.txt");

kleur4 = new Color(_root.hoofdvlakklachten);

lv4 = new LoadVars();
lv4.onLoad = function(success4) {
if(success4) {
r = parseInt(lv4.kleurklachten.substr(1, 2), 16);
g = parseInt(lv4.kleurklachten.substr(3, 2), 16);
b = parseInt(lv4.kleurklachten.substr(5, 2), 16);
kleur4.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv4.load("waarden.txt");

kleur5 = new Color(_root.hoofdvlakuitval);

lv5 = new LoadVars();
lv5.onLoad = function(success5) {
if(success5) {
r = parseInt(lv5.kleuruitval.substr(1, 2), 16);
g = parseInt(lv5.kleuruitval.substr(3, 2), 16);
b = parseInt(lv5.kleuruitval.substr(5, 2), 16);
kleur5.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv5.load("waarden.txt");

kleur6 = new Color(_root.hoofdvlakcontact);

lv6 = new LoadVars();
lv6.onLoad = function(success6) {
if(success6) {
r = parseInt(lv6.kleurcontact.substr(1, 2), 16);
g = parseInt(lv6.kleurcontact.substr(3, 2), 16);
b = parseInt(lv6.kleurcontact.substr(5, 2), 16);
kleur6.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv6.load("waarden.txt");

kleur25 = new Color(_root.rood);

lv25 = new LoadVars();
lv25.onLoad = function(success25) {
if(success25) {
r = parseInt(lv25.rood.substr(1, 2), 16);
g = parseInt(lv25.rood.substr(3, 2), 16);
b = parseInt(lv25.rood.substr(5, 2), 16);
kleur25.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv25.load("waarden.txt");

kleur26 = new Color(_root.oranje);

lv26 = new LoadVars();
lv26.onLoad = function(success26) {
if(success26) {
r = parseInt(lv26.oranje.substr(1, 2), 16);
g = parseInt(lv26.oranje.substr(3, 2), 16);
b = parseInt(lv26.oranje.substr(5, 2), 16);
kleur26.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv26.load("waarden.txt");

kleur27 = new Color(_root.geel);

lv27 = new LoadVars();
lv27.onLoad = function(success27) {
if(success27) {
r = parseInt(lv27.geel.substr(1, 2), 16);
g = parseInt(lv27.geel.substr(3, 2), 16);
b = parseInt(lv27.geel.substr(5, 2), 16);
kleur27.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv27.load("waarden.txt");

kleur28 = new Color(_root.groen);

lv28 = new LoadVars();
lv28.onLoad = function(success28) {
if(success28) {
r = parseInt(lv28.groen.substr(1, 2), 16);
g = parseInt(lv28.groen.substr(3, 2), 16);
b = parseInt(lv28.groen.substr(5, 2), 16);
kleur28.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv28.load("waarden.txt");

kleur29 = new Color(_root.rood1);

lv29 = new LoadVars();
lv29.onLoad = function(success29) {
if(success29) {
r = parseInt(lv29.rood.substr(1, 2), 16);
g = parseInt(lv29.rood.substr(3, 2), 16);
b = parseInt(lv29.rood.substr(5, 2), 16);
kleur29.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv29.load("waarden.txt");

kleur30 = new Color(_root.oranje1);

lv30 = new LoadVars();
lv30.onLoad = function(success30) {
if(success30) {
r = parseInt(lv30.oranje.substr(1, 2), 16);
g = parseInt(lv30.oranje.substr(3, 2), 16);
b = parseInt(lv30.oranje.substr(5, 2), 16);
kleur30.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv30.load("waarden.txt");

kleur31 = new Color(_root.geel1);

lv31 = new LoadVars();
lv31.onLoad = function(success31) {
if(success31) {
r = parseInt(lv31.geel.substr(1, 2), 16);
g = parseInt(lv31.geel.substr(3, 2), 16);
b = parseInt(lv31.geel.substr(5, 2), 16);
kleur31.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv31.load("waarden.txt");

kleur32 = new Color(_root.groen1);

lv32 = new LoadVars();
lv32.onLoad = function(success32) {
if(success32) {
r = parseInt(lv32.groen.substr(1, 2), 16);
g = parseInt(lv32.groen.substr(3, 2), 16);
b = parseInt(lv32.groen.substr(5, 2), 16);
kleur32.setRGB((r<<16) + (g<<8) + b);
} else {
trace("Er gaat iets fout bij het laden van kleur.txt");
}
}
lv32.load("waarden.txt");

dioneo
%Europe/Berlin %587 %2005, 15:06
Sla je waardes niet meer op in een txt maar een xml. inhoud ervan zou kunnen zijn als

<xml version="1.0"?>
<waardes>
<kleurwaarde>
<clipNaam>hoofdvlakroosters</clipNaam>
<RGB>FFEEBB</RGB>
</kleurwaarde>
<kleurwaarde>
<clipNaam>hoofdvlakklachten</clipNaam>
<RGB>FFEEBB</RGB>
</kleurwaarde>
(etc)
</waardes>

Je zet zowel de naam van de te transformen clip er in als de waarde.



var colorXML:XML = new XML();
colorXML.ignoreWhite = true;
colorXML.onLoad = function() {
lst = colorXML.firstChild;
for (i=0; i<lst.length; i++) {
theObject = lst.childNodes[i].childNodes[0].firstChild.nodeValue;
cTransformer = new Color(theObject);
cValue = lst.childNodes[i].childNodes[1].firstChild.nodeValue;
r = parseInt(cValue.substr(1, 2), 16);
g = parseInt(cValue.substr(3, 2), 16);
b = parseInt(cValue.substr(5, 2), 16);
cTransformer.setRGB((r << 16)+(g << 8)+b);
}
};
colorXML.load('waarden.xml');

let ff niet op mogelijke kleine foutjes; doe dit ff snel live, geen tijd te debuggen.

Nog verder optimaliseren is ook mogelijk; zet de afzonderlijke R, G en B waarden in je XML dan hoef je ze niet meer te parsen in AS.

AKNL
%Europe/Berlin %600 %2005, 15:24
thanks! ik zal er eens naar kijken, maar PHP is zowiezo geen optie helaas, weet niet of dat echt nodig is met xml, nee toch?

dioneo
%Europe/Berlin %642 %2005, 16:25
nee hoor, als je gewoon zelf een xml aanmaakt is het ook goed