in betere bitmap knop, de bouw van een betere bitmap knopen in 3 delen,,,,,,,,,,,, deel 1,,,,,,, het netwerk van delen van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, van een bitmap knop haat gebouw.Als je flash ide, je kan de oprichting van een masker te bepalen welke belangrijke deel van de pixel is en wat niet, maar in andere vakken bevatten. De workflow, - met inbegrip van een transparante pixels zullen worden aangegaan.In deze handleiding, je zal leren om van alle automatische transparante pixel niet klikken, met slechts een paar regels code.,,, het uiteindelijke resultaat bekijken, laten we eens kijken naar de resultaten van de laatste, en wij zijn vastbesloten, en aandacht te schenken aan de hand cursor: alleen in het werkelijke beeld; zelfs in haar goedkeuring, maakt het niet verschijnen.Dit is niet alleen om aan te tonen dat de in deze regio 's: klikken, de knop drukte op de knop, de invoering van: wat is zo speciaal?Op het eerste gezicht lijkt heel eenvoudig, SWF 's boven.Maar kijk eens goed.Zie je hoe het in de demo, een druk op een knop is alleen voor de berekening van het werkelijke beeld, als je op een plek.Normaal is het niet gebeurd.Omdat een bitmap beeld is een rechthoek, in het vak, ongeacht de plaats waar gewoonlijk kan worden beschouwd als een druk op de knop.Kijk naar het volgende voorbeeld, ik heb ons beeld geeft een overzicht van de grens een rechthoek.Hier, je kan op een rechthoekige overal in de regio, met inbegrip van transparante, zoals je kan zien, en dat willen we niet.Voor beginners, wanneer hij niet voornemens zijn te gebruiken, kan de gebruiker op de knop.Bovendien, als er een hand toe in de gaten, het ziet er raar uit.In deze handleiding zal je leren hoe te gemakkelijk om deze problemen te verhelpen, als je het nog niet vertrouwd zijn met de gerichte programma 's of FlashDevelop, stel ik voor dat je naar die aan het begin van deze handleiding voor stap 1:.,,, open FlashDevelop en het creëren van een nieuwe post van de 3 nieuwe projecten (*, het project); namen, bitmapbuttonproj,.Aan de rechterkant, open, "en de map op de Main.as gewijzigd, open het.Een nieuwe categorie worden toegevoegd aan het project (, klik /src /> toevoeging van > nieuwe klas, bitmapbutton) genoemd,,,, stap 2: die beelden, we hebben nu een beeld van het werk.Dit is me een:,, het gebruik van een bitmap beeld (bijvoorbeeld jpeg bestand of behandelingen in Papoea - Nieuw - Guinea) in 3, we hebben het.FlashDevelop dit makkelijk maken.Het behoud van de foto 's, in de plaats van klik, Lib, aan de rechterkant van de muis, folders, toe te voegen, de selectie, de bibliotheek, de keuze van de activa, en als je wil je eigen beeld, zeker voor een keuze, je beeld van transparantie, zullen worden opgenomen in de In FlashDevelop, bibliotheek, MAP.Klik op de beelden te selecteren, die in de code, een belangrijke uitbreiding van de cursussen, die Sprite {[(Bron: "/Lib /. Van Papoea - Nieuw - Guinea")] particuliere var buttonimg:;, van deze code, die het beeld voor ons project.Elke keer als je aan een beeld, je moet op de volgende regel je de definitie van een vertegenwoordiger van die beelden van de categorieën.In dit geval, de klas is bekend als de buttonimg.,,, stap 3: toevoeging van een tekst, is de volgende stap, zullen we nog een tekst, waaruit blijkt dat we op de knop, hoeveel keer (dit zou worden aangevuld).Bovendien, de Main (): clickstextfield = nieuwe, textfield (); clickstextfield.width = stage.stagewidth; clickstextfield.defaulttextformat = nieuwe tekst (nietig, 14, 0, echt, nep, nep, lege, textformatalign. Het Centrum); clickstextfield.text = "druk op de knop:" + numclicks; clickstextfield.mouseenabled = vals. Addchild (clickstextfield), meer eenvoudige; code formaat in ons project op de tekst van de centrale.We zeggen dat we niet missen, de tekst, in de lijn 15.,, stap 4: aan de knop, deze code moet ook gaan, de Main ():, de VAR - knop: bitmapbutton = nieuwe bitmapbutton (buttonimg); de knop. X = stage.stagewidth /2 button.width /2; de knop. Y = stage.stageheight /2 - button.height /2; addchild (knop); - knop. AddEventListener (MouseEvent. Klik, onbuttonclick); als we de concretisering, bitmapbutton in de rij, 36, we door ons in beeld als parameter.Dit wordt gebruikt, bitmapbutton, klasse.Na dat, we kunnen gewoon met ons, bitmapbutton, zoals elke andere displayobject,: we kunnen lokaliseren, en de toevoeging van een luisteraar, mouseevent.click, we zullen altijd vijf stappen:.,, de knopen in doen, deze gebeurtenis, heer. EN: privé - functie, onbuttonclick (E:: {numclicks MouseEvent) ongeldig +; clickstextfield.text = "druk op de knop:" + numclicks;}, het laatste deel van de code in onze klas, vooral de knop klikken en de luisteraar.In dit, maar we moeten nog een aantal numclicks klikken,,, en de bijwerking van de tekst, clickstextfield.,,, stap 6: in de bitmapbutton fabrikant, omzet, als bitmapbutton,.Ten eerste, deze soort: de invoer flash.display.bitmap; de invoer van flash.display.bitmapdata; de invoer van flash.display.sprite; de invoer van Flash. Het evenement; deze verklaring, dan BitmapData:BitmapData, locomotieven: totaal aantal; particuliere drempel: = 0;, je moet ervoor zorgen dat de uitbreiding, bitmapbutton, klasse, SPRITE, want, kan er geen sprake zijn van een muis bitmap, zelf de interactie.(en interactiveobject bitmap, klas niet.), een openbare taak bitmapbutton (gegevens: categorie: bitmap beeld) {VAR = nieuwe imagedata (); addchild (beelden); BitmapData = image.bitmapdata; addEventListener (mouseevent.mouse_move, de muis); addEventListener (mouseevent.click, onclick);}, in mijn land, bitmapbutton, fabrikant, We hebben iets belangrijks.,, in de eerste plaats, creëren we een nieuwe bitmap beeld, dat beeld van soorten als parameter voor de fabrikant, maar na de toevoeging van dit, beetje, als we, SPRITE, jongen, we een waarde, bitmap gegevens, gelijk aan die van BitmapData, ons beeld, en, tot slot, we voegen, klik, en mouse_move luisteraar,,.,, stap 7: in mouse_move luisteraar, particuliereDe functie van onmousemove (E:MouseEvent): ongeldig {VAR pixel: eenheid = BitmapData. Getpixel32 (mouseX, muizen); usehandcursor = buttonmode = ((pixel > > > > 24) drempel);}, we gewoon te kijken, luisteren mouse_move, achter het incident in onze klas Kamer is van de hersenen.Het belangrijkste doel is het bepalen van de muis cursor of in een meer transparante pixels.Laten we zien hoe het te doen. Getpixel32 (), de functie van de pixels, eerste regel, de kleur en de transparantie van de cursor.Om dit te bereiken, we gebruiken, getpixel32 (), de variabelen, de BitmapData methoden (met inbegrip van, weet je, is dat we de bitmap beeld van gegevens), we moeten door middel van een X - en Y - coördinaten, getpixel32 (), dat wij uiteraard gebruik van de locatie van de muis, dan naar een telefoon. De vertegenwoordigers van de eenheid, de kleur en de transparantie van de positie die we pixel. Kleur in de Flash wordt vaak beschouwd als een eenheid, in de vorm van hex, rrggbb.Het tweede nummer is de rode kleur, een tweede digitale, het tweede cijfer, een tweede digitale, het tweede cijfer, Green, de laatste twee, blauw.Maar getpixel32 (), biedt ons een speciaal gebied, namens ons aarrggbb pixels in vorm.Hier, het eerste nummer van transparante, alfa, of het bedrag van FF (00 (clearing) ondoorzichtige), dus, bijvoorbeeld, ff980000, volledig ondoorzichtig rode en 00980000, zal een volledig transparante rood.Meestal zie je deze vertegenwoordigers, 0xff980000, of, 0x0098000,: "in" laat je (en flash.Dat nummer is hex (f), in plaats van de decimale (09), een anonieme dienst exploitant. Op dit punt hebben we een eenheid, bekend als de pixels,,, dit is het behoud van de kleur van de pixels in onze muis in de vorm van aarrggbb α.Helaas, dit is te veel informatie.Onze zorg is dat de transparantie van de pixels, of is dat een deel van de transparantie.In feite, je kan dit segment van de wiskundige formule geschreven, int (pixel /wiskunde. Krijgsgevangenen (16,6)), het zal werken.Dit is een beetje gênant verklaren, terwijl een andere optie dan we langzamer verstandig: een anonieme dienst exploitant, > > >,,, de variabelen, de pixels, gewoon een binaire flash.We zijn geschreven in de hex gewoon om het te verbeteren.Niet te veel details, een hexadecimaal elke door een reeks van vier binaire getallen zijn, elk met een 0 of 1.Dus, een systeem met een digitale - F, komma, en het gebruik van een binaire - 0.), we hebben een hexadecimaal, D4.In binaire, dat wordt uitgedrukt door 11010100.Er nota van te nemen dat wij het gebruik van acht binaire getallen in binaire: vier keer - - en dit is een punt dat we even kijken, > > > inderdaad, exploitant.Laten we ons voorbeeld nummer voor de D4, of, 0xd4, duidelijk.Laten we nu het gebruik van > > >:,, zoals 0xd4 > > > 4 - 4, dat is een normale decimaal een nummer (zonder "in").Dit is iedere binaire uitdrukking, D4 vier correcte cijfers, maar vergeten dat een digitale, zal aan het einde van de digitale, 0xd4, binaire, 11010100.Voor de vier ploegen, dan wordt het 1101.Hex, dit is 0XD, als je problemen hebt, het begrip, de verbeelding van binaire getallen zitten op de rechterzijde van de tafel.> > >,, van de rechten van de marktdeelnemers als een blok.Dit is onze oorspronkelijke binaire getallen:, en nu heb ik een nieuwe nummer, na wat we doen, 0xd4 > > > 4:,,, dat we na vier 0xd4 verschuiving, we uiteindelijk alleen 0XD?Dit is geen toeval.Zoals eerder vermeld, elk hexadecimaal door 4 binaire getallen, elke keer als we naar de rechten van 4, we zijn eigenlijk een hexadecimaal aan het eind van het jaar af te sluiten.Je weet waar we heen gaan.Terug naar onze pixels, in 0xaarrggbb formaat.Als we het 24, zijn we in feite bestaat uit zes hexadecimaal verschoven.Dit betekent dat de rrggbb gedeeltelijk vernietigd, we uiteindelijk alleen 0xaa deel uit, dit is onze alfa - component, snelle numeriek voorbeeld: dat we gelijk is aan de ff980000 pixels.In het tweede element, dat is 0000 0000 0000 1111 1111 1001 1000 dollar.(voor elke groep van 4 cijfers van dat een hexadecimaal). Als we deze 24, we zijn aan het einde van 1111 of 1111, FF, we hebben twee doorzichtige digitale, kijk nog een keer:, usehandcursor = buttonmode = ((pixel > > > 24) > drempel) en, nou,, (pixel > > > 24), deel is gerechtvaardigd, maar de rest?Dat is makkelijk.We controleren onze alfa - component (pixel > > de resultaten van de > 24) groter is dan de waarde van de drempel, (op dit moment, 0).Als het is, usehandcursor,, buttonmode, die waar dit zal enerzijds de cursor verandering.Dit maakt ons beeld lijkt op een knop, als we het alfa - onderdeel van de drempel, die kleiner is dan of gelijk is aan, de cursor blijft normaal, want de muis is in een transparante pixel (half).Omdat we het 0, slechts volledig transparant pixels zullen niet worden opgenomen in ons deel van de knop, maar je kunt het, dat het aantal 0x80, dan zal het dat meer dan de helft van alle transparante vorm van de hand van de cursor, salaristrap 8: klik op de luisteraar, private functie onclick (E: {Indien: ongeldige (gebeurtenissen).Usehandcursor) {zoals stopimmediatepropagation ();}}, wij, het laatste deel van de bitmapbutton, klas, mouseevent.click, luisteraars.Deze functie wordt genoemd, elke keer als we de beelden worden aangegaan, ongeacht of de pixels transparant is.(de muis cursor als we eerder niet van invloed zal zijn op de werkelijke MouseEvent,.), dus elke keer als er een klik, we controleren, usehandcursor bezit.Als het echt is, betekent dit dat de muis is in ons beeld van een normale pixels, we hoeven niets te doen.Dit is een gebeurtenis van de gebeurtenissen, en zal blijven luisteren, we zijn toegenomen, voornamelijk.Maar als usehandcursor, onjuist is, moeten we iets doen om te voorkomen dat de gebeurtenissen in andere gebeurtenissen blijven luisteren, dus we gebruiken, stopimmediatepropagation (), voor alle gebeurtenissen, object.Simpel gezegd, het voorkomen van ongevallen, incidenten en niet meer het publiek krijgt.Dus, we hebben de gebeurtenissen van luisteraars functie, zal voor altijd bekend als Main.as veranderen,,,, waarschuwing: dit kan een ernstige bijwerking - een wereldwijde luisteraars kan krijgen.Als je je zorgen maakt om dit toe te voegen aan de lijn, je kan het proberen, moeder. Dispatchevent (E, e)); stopimmediatepropogation (na).Hoewel dit buiten het bereik van de training, maar ik stel voor dat hier meer te lezen over de gebeurtenissen te lezen, en is tot de conclusie gekomen.Bedankt voor het lezen, ik hoop dat je iets geleerd, met ons, bitmapbutton als voorzichtig en klasse gebeurtenis, de muis, nog zou werken, omdat we alleen op de gebeurtenissen, behandeld.Als je wilt, kun je met dezelfde techniek, we gebruiken, mouseevent.click, en is van toepassing op andere gebeurtenissen, zoals de gebeurtenissen. Mouse_down,., we bitmapbutton, klasse, kunnen we makkelijk en snel van transparante bitmap beeld van de grote knop, omdat we niet in deze demonstratie.Als je een probleem hebt, zal ik graag antwoord op de volgende, gewoon een opmerking.
Hou
Next Page:Een snelle Hint: botsing tussen