Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Flash] Vierkant van kleur veranderen

Pagina: 1
Acties:
  • 124 views sinds 30-01-2008
  • Reageer

  • GTACrime
  • Registratie: December 2005
  • Niet online
Hey Tweakers :) ,

Ik wil graag in Flash een vierkantje maken dat blijvend van kleur verandert als je erop klikt. In het begin moet hij rood zijn, na één klik moet hij groen worden, na nog een klik geel en daarna moet het weer opnieuw beginnen (dus weer rood, dan groen, dan geel etc).

Helaas ben ik zelf niet zo ervaren in Flash en kom ik er zelf niet helemaal uit. Ik heb op dit moment het volgende voor elkaar gekregen: http://www.gtacrime.nl/~jasper/test.swf. In principe werkt het perfect, maar het probleem is dat ik enkele tientallen van deze vierkantjes in één document wil verwerken. Op dit moment verandert het vierkantje van kleur doordat hij bij een klik op het vierkantje naar de volgende frame springt (van 1 naar 2 naar 3 naar 1 etc). Op het volgende frame heeft het vierkantje dus gewoon een andere kleur. Het punt is nu dat als ik er meerdere op één pagina zet, ze allemaal van kleur veranderen als ik er op ééntje klik. Dat is dus net niet de bedoeling... ze moeten individueel van kleur veranderen.

Gezien het grote aantal vierkantjes is dit denk ik niet makkelijk op te lossen door hem telkens naar een andere frame te laten verspringen. Wie heeft er een goed idee hoe ik dit het beste op kan lossen? :>

Het bestand waar ik nu in zit te werken is hier te vinden: http://www.gtacrime.nl/~jasper/test.fla

Alvast heel erg bedankt! _/-\o_

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-09 20:59
Waarom los je dit niet op met een stukje javascript en css? Daarmee kan je heel makkelijk een element een andere (achtergrond)kleur geven.

If I can't fix it, it ain't broken.


Verwijderd

Als je van elk vierkantje een movieclip maakt en ze allemaal elk hun eigen onRelease event geeft zou het moeten werken.
Dus dan zou je op elke movieclip de volgende code zetten:

code:
1
2
3
on (release) {
_root.movieclipnaam.nextFrame();
}


Als je geen frames wilt gebruiken maar Actionscript zou je voor elk vierkantje een array kunnen maken waar je alle kleurwaardes in hebt staan. En wanneer je op een vierkantje klikt verandert ie de kleur naar de volgende waarde in de array. Zo uit me hoofd kan ik dat niet typen nu, misschien dat iemand anders dat uit zijn hoofd kent. Anders post ik dat zo wel.

[ Voor 42% gewijzigd door Verwijderd op 11-11-2007 17:10 ]


  • dcm360
  • Registratie: December 2006
  • Niet online

dcm360

Moderator Discord

HD7767 powered

Volgens mij is dit precies dezelfde vraag als http://www.flashfocus.nl/forum/showthread.php?t=37824

Overigens heb ik daar al een antwoord met stappenplan en voorbeeld gegeven, voor de geïnteresseerden.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 27-11 10:50

_Thanatos_

Ja, en kaal

HTML:
1
<div id="rechthoekje"></div>
Cascading Stylesheet:
1
2
#rechthoekje { width: 10em; height: 4em; background-color: lime; }
#rechthoekje.clicked { background-color: red; }
JavaScript:
1
2
3
document.getElementById("rechthoekje").onclick = function() {
  this.className = "clicked";
};


En klaar is kees.

日本!🎌


Verwijderd

En de Actionscript oplossing;
code:
1
2
3
4
5
6
var my_Array:Array = Array("0x531010", "0x808080", "0xbd7a00");
vierkantje.onRelease = function (){
        nummer = random(3);
        var my_Color:Color = new Color(vierkantje);
        my_color.setRGB(my_Array[nummer]);
}

Op deze manier krijgt je movieclip 'vierkantje' een random kleur gekozen uit 1 van de 3 waardes in je array.

[ Voor 4% gewijzigd door Verwijderd op 12-11-2007 00:51 ]

Pagina: 1