Precis vad jag också tänkte fråga. Har precis köpt en licens. På instruktionsfilmer visar de bara hur de högerklickar på infogade knappar och klickar på åtgärder men när man försöker med det själv meddelar ActionScript att det inte går att ha några åtgärder där. :-/ Japp, det är helt sjukt. Troligen nåt enkelt man har missat. Skriv här om du lyckas lösa det. Hej Martin här igen, har Du fortfarande problem? Jag löste mitt problem och tänkte dela med mig av erfarenheterna. Jag vet att tråden är gammal men någon annan läser detta senare kanske så jag delar med mig av min kunskap.Sv: Knapp?
Sv:Knapp?
Sv: Knapp?
Det verkar bero på skillnader i ActionScript-versionerna. I 3.0 kan man inte direkt lägga till AS till en knapp genom att högerklicka på den. Det kan man i 1.0 och 2.0. Vill man programmera i de tidigare versionerna måste man skapa ett flash-dokument som stödjer det formatet. Vilket är enkelt, det finns som menyval i början när man skapar nytt dokument. Då kan man koda på traditionellet sätt.
I 3.0 har jag lyckats göra knappar och spara de som movieclip. Tror jag läste att det var viktigt att varje namn på de objekten slutade på _mc.
Lägg koden i ett eget lager över alla andra lager och streck den så att den spänner över alla rutor den har under sig. Sedan har varje knapp fått följande kodblock. Glöm inte att också ge den ett instance-namn.
hem1_mc.addEventListener(MouseEvent.CLICK, onClickhem);
function onClickhem(event:MouseEvent):void
{
gotoAndStop(1);
}
hem1_mc.buttonMode = true;
Hoppas det kan hjälpa lite.Sv:Knapp?
En knapp är inte så enkelt att göra som i AS2 nej, utan lite krångligare men allt blir mycket lättare nu generellt.
Och en grej, det är strunt samma om instance namnet på knappen slutar på _mc.
knappens_instance_namn.addEventListener(MouseEvent.CLICK, onClickhem);
function onClickhem(event:MouseEvent):void
{
gotoAndStop(1);
}
Först så skriver man ju knappens_instance_namn, avd den nu heter, t.ex. mybtn, och sen lägger vi till en avlyssnare som ska lyssna av och se om knappen får fokus t.ex. trycks ner detta gör vi med addEventListener. i addEventListener så är där några parametrar:
Först, vad det är för händelse t.ex. mushändelse: MouseEvent eller om det skulle varit tangentbordshändelse: KeyboardEvent, efter det så skriver vi en punkt och sen vad den ska lyssna efter t.ex. ett klick = CLICK eller om det var KeyboardEvent då lyssnar man kanske efter KEY_DOWN
nu, skriver vi ett komma , och efter det, skriver vi vilken funktion som ska köras om denna händelse sker t.ex. funktionen duharklickat()
då ser funktionen ut så här kanske:
function duharklickat(evt:MouseEvent)
{
trace('Hello world, the button is on, TJOHO!!!');
}
jag skickade med ett argument: evt:MouseEvent. då skickar jag med information om klickhändelsen, och det kan man säga läggs i en variabel som vi nu kallar evt, den skulle lika gärna kunnat heta event och då skulle det ha blivit så här: event:MouseEvent, vi skriver alltså namnet som variablen ska få t.ex. event och sen kolon : och vad vi skickar med, alltså en MouseEvent, det skulle lika gärna kunna vara KeyboardEvent.
Nu kan du även skriva:
function duharklickat(evt:MouseEvent)
{
trace(evt);
}
Då skrivs allt som variablen innehåller ut.
Så fungerar knapparna i ActionScript 3
Mycket smartare att ha allt i samma kod än i olika kodblock, smartare att koda nu :)