PDA

Volledige versie bekijken : Oud flashbestand updaten van player 6 > 7


Down
%Europe/Berlin %445 %2006, 10:41
OK ik hoop dat iemand mij wil helpen.. Ik heb zojuist een oud flash bestand gehad van een spel met een plattegrond waarover een mannetje kan lopen (vanaf bovenaf gezien) die ik moet updaten.. gaat allemaal super.. alleen nu heb ik een nieuw script toegevoegd en daarvoor moet ie gepublished worden in flash player 7 (minstens)..

Het probleem: Nu loopt het mannetje niet meer tegen de borders aan en op 'enter' klikken om een andere swf binnen te gaan lukt niet meer.. kan iemand mij helpen? Ik ben niet zo'n actionscripter, maar illustratie lukt me wel aardig.. dus misschien kan ik iets terugdoen met illustratiewerk voor degene die mij kan helpen? (kijk maar eens naar deze kerstkaart (http://www.blackorange.nl/kerst/)..)

Hieronder een stukje as.. hoop dat hiermee iets duidelijk is!


if( plattegrondzichtbaar == "nee" )
{
setProperty(_root.plattegrond, _visible, false);
}
else
{
setProperty(_root.plattegrond, _visible, true);
}

raakvlak._x = popx;
raakvlak._y = popy;

pop._x = popx;
pop._y = popy;

plattegrond.hallen._x = hallenx;
plattegrond.hallen._y = halleny;

frontLawn.mow()
%Europe/Berlin %465 %2006, 11:10
vanaf AS 2.0 (wat dus in flash 7 zit) moeten variabelen eerst gedefinieerd worden, bijvoorbeeld:

as1:
raakvlak._x = popx;

als propx niet gedefinieerd is, maakt as 1 er '0' van, ofterwijl:
raakvlak._x = 0;

as 2:
popx = 0;
raakvlak._x = popx;
als de variabele popx NIET gedefinieerd is, maakt as 2 er 'undefined' of 'NaN' van.
ofterwijl:
raakvlak._x = NaN;
en dat kan niet....

wat je dus moet doen om alles weer werkend te krijgen is zorgen dat alle gebruikte variabelen een beginwaarde hebben... (heeeeeeel erg irritant vind ik dat).

wat ik vaak doe:

if (popx == undefined) popx = 0;
raakvlak._x = popx;
// etc


of, als het heel veel code is om om te bouwen:

// ergens in t begin
function startWaarde(n) {
if (n == undefined) n = 0;
return n;
}

// waar de rest van de code staat:
raakvlak._x = startWaarde(popx);
raakvlak._y = startWaarde(popy);
// etc

Down
%Europe/Berlin %518 %2006, 12:26
wow thnx! Ik heb t nog niet geprobeerd, maar dat ga ik nu even doen, alvast bedankt voor de hulp!

Down
%Europe/Berlin %567 %2006, 13:37
Hmm als het goed is dus zo:

in het algemene actions layer:

function startWaarde(n) {
if (n == undefined) n = 0;
return n;


waar de rest staat:

raakvlak._x = startWaarde(popx);
raakvlak._y = startWaarde(popy);

pop._x = startWaarde(popx);
pop._y = startWaarde(popy);

plattegrond.hallen._x = startWaarde(hallenx);
plattegrond.hallen._y = startWaarde(halleny);


Maar blijkbaar niet, want het werkt nog niet.. mis ik iets?

Down
%Europe/Berlin %407 %2006, 09:47
Help! Iemand?