Volledige versie bekijken : MC vergroten/verkleinen m.b.v toetsen
peres
%Europe/Berlin %604 %2005, 15:29
hey flashers,
hoe zorg ik ervoor dat een MC vergroot/verkleind wordt m.b.v de keybuttons?
dus als ik op pijltje naar onder klik dat ie dan groter wordt en pijltje omhoog kleiner
kan iemand me helpen?
Roenes
%Europe/Berlin %610 %2005, 15:39
Dat kan met behulp van listeners en de _yscale propertie van een mc. Een opzetje:
var kl = new Object();
kl.onKeyDown = function()
{
var kc = Key.getCode();
if(kc == Key.DOWN) jeMC._yscale += 10;
if(kc == Key.UP) jeMC._yscale -= 10;
}
Key.addListener(kl);
Dit is een mogelijkheid. jeMC moet je vervangen door de instancenaam van de mc die moet scalen. Uiteraard is dit uit te breiden naar eigen belang.
Deze code moet op een frame gezet worden :)
peres
%Europe/Berlin %615 %2005, 15:46
ok thnx man :D
en als ik mijn MC totaal wil vergroten/verkleinen moet ik zeker deze 2 regeltjes toevoegen:
if(kc == Key.DOWN) MC._xscale += 10;
if(kc == Key.UP) MC._xscale -= 10;
dus:
var kl = new Object();
kl.onKeyDown = function()
{
var kc = Key.getCode();
if(kc == Key.DOWN) MC._yscale += 10;
if(kc == Key.UP) MC._yscale -= 10;
if(kc == Key.DOWN) MC._xscale += 10;
if(kc == Key.UP) MC._xscale -= 10;
}
Key.addListener(kl);
Maar hoe maak ik 'grenzen'? Dat ie bijvoorbeeld niet groter kan worden dan 200% en niet kleiner dan 50%
TheSilentWitness
%Europe/Berlin %626 %2005, 16:01
Dat doe je door het in if-statements te zetten.
Dus bijvoorbeeld:
if (MC._y >= hetaantalpixels){
delete this.onKeyDown
}
Ik zal er wel compleet naast zitten, maar dit is hoe ik denk dat je het zou kunnen doen...
Probeer het eens:)
Roenes
%Europe/Berlin %627 %2005, 16:03
Op die manier kan het ook maar het is netter om alles in 1 if te zetten:
var kl = new Object();
kl.onKeyDown = function()
{
var kc = Key.getCode();
if(kc == Key.DOWN)
{
MC._yscale += 10;
MC._xscale += 10;
}
if(kc == Key.UP)
{
MC._yscale -= 10;
MC._xscale -= 10;
}
}
Key.addListener(kl);
Grenzen kun je dan weer in de if's zetten, bv:
if(kc == Key.DOWN)
{
if(MC._yscale + 10 > 200) MC._yscale = 200;
else MC._yscale += 10;
}
Zelfde voor _xscale en dit is ook toe te passen in bij de UP key. Maar ik denk dat je het principe wel snapt :)
peres
%Europe/Berlin %638 %2005, 16:19
ja hij doet het bedankt jongens :D
nog een vraagje om het af te leren:
ik heb dus 2 functies in mijn "MC"
-vergroten/verkleinen m.b.v pijltjestoetsen
-omhoog/omlaag m.b.v pijltjes toetsen
kun je ook zo instellen dat als hij op maximale hoogte ook maximale grootte heeft en op minimale hoogte (laagst) een minimale grootte heeft?
soort van dat de grootte relatief gelijk is aan de hoogte
Roenes
%Europe/Berlin %640 %2005, 16:23
Tuurlijk, maar dan moet je er wat wiskunde op los laten. Je moet dan het verschil van afstand van laag naar hoog delen door het aantal stappen en dan weet je hoeveel je per keypress bij op moet tellen/af moet trekken. :)
peres
%Europe/Berlin %646 %2005, 16:31
Wiskunde? Ik heb vakantie! :eek:
hehehe ik zal het eens proberen
peres
%Europe/Berlin %720 %2005, 18:17
bedankt het is gelukt :D alleen hij gaat niet echt soepel als je de MC snel wilt verplaatsen. bijv. als je de beweging per klik op 20 zet gaat hij heel houterig. En als je em op een laag getal zet gaat hij wel soepel, maar heel langzaam. Is er een manier om hem snel en soepel te laten bewegen?
Roenes
%Europe/Berlin %746 %2005, 18:54
met een onEnterFrame steeds kleine delen optellen totdat je in totaal 20 hebt opgeteld. :)
peres
%Europe/Berlin %749 %2005, 18:59
sorry, ik snap niet wat je bedoelt met onEnterFrame delen optellen
peres
%Europe/Berlin %771 %2005, 19:30
ik heb de fps flink stuk hoger gezet
sheesh dat ik daar niet eerder op was gekomen zeg
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.