Avatar billede snuf Nybegynder
18. oktober 2004 - 17:52 Der er 8 kommentarer og
1 løsning

Cursor Mask

Kender nogen en god Flash-tutorial der viser hvordan man laver en movie hvor der "sidder en mask fast på cursoren"? Men også således at områder som man har bevæget cursoren over forbliver afdækkede? Således at man får fornemmelsen af at man "skraber" et lag af med musen...
Avatar billede alexander_j Nybegynder
18. oktober 2004 - 21:22 #1
Læg denne her kode i frame 1 - og sæt frame rate til 18 fps

this.createEmptyMovieClip("cont",1);
this.cont._x = 0;
this.cont._y = 0;
this.cont.beginFill("0xff0000",100);
this.cont.moveTo(0,0);
this.cont.lineTo(400,0);
this.cont.lineTo(400,400);
this.cont.lineTo(0,400);
this.cont.lineTo(0,0);
this.cont.endFill();

this.createEmptyMovieClip("mask",2);
this.mask._x = 0;
this.mask._y = 0;

function skrabe(a,b){
    this.mask.beginFill("0x000000",100);
    this.mask.moveTo(a-25,b-25);
    this.mask.lineTo(a+25,b-25);
    this.mask.lineTo(a+25,b+25);
    this.mask.lineTo(a-25,b+25);
    this.mask.lineTo(a-25,b-25);
    this.mask.endFill();
}
this.cont.setMask(this.mask);

this.mask.lineStyle(50,"0x000000",100);
this.mask.moveTo(-100,-100);
this.onEnterFrame = function(){
    skrabe(this.mask._xmouse,this.mask._ymouse);
}

Nu er det en firkant der bruges til at skrabe med, men ved at lave movieclippene manuelt i stedet for med kode kan du bruge duplicate movie på et movieclip med en cirkel i stedet for - hvis du ønsker den rund!

cont er indholdsmovieclippet og i mit tilfælde indeholder det bare en rød kasse, men det kan indeholde hvad som helst (undtagen dynamisk tekst)!
Avatar billede snuf Nybegynder
18. oktober 2004 - 23:38 #2
Det funker jo glimrende, men jeg tror desværre at det er lidt for kompliceret for mig :-(

Jeg har netop brug for at lave en movie (en importeret .png) som cursor. Hvad skal jeg så ændre i scriptet? Og skal scriptet så sidde på min movie/cursor i stedet?

Derudover skal jeg have et billede som baggrund, og et som forgrund. Det er billedet i forgrunden jeg skal skrabe væk med cursoren, så billedet i baggrunden dukker frem.

Er alt dette stadig muligt med dit script?

Jeg ved det lyder svært, så du skal ikke besvære dig alt for meget...
Avatar billede alexander_j Nybegynder
19. oktober 2004 - 00:28 #3
Mit script er bare det du vil lavet i ren actionscript!

Det er vigtigt for mig at vide hvad du kan i forvejen, hvis du skal lave det med movieclips manuelt!

En lille guide!

1. Lav to movieclips
mc_1 med det billede der skal skrabes væk
mc_2 med det billede der skal komme frem når du skraber


2. i frame 1 ligger du følgende kode
this.mc_1.swapDepths(1);
this.mc_2.swapDepths(2);

this.createEmptyMovieClip("mask",3);
this.mask._x = 0;
this.mask._y = 0;

function skrabe(a,b){
    this.mask.beginFill("0x000000",100);
    this.mask.moveTo(a-25,b-25);
    this.mask.lineTo(a+25,b-25);
    this.mask.lineTo(a+25,b+25);
    this.mask.lineTo(a-25,b+25);
    this.mask.lineTo(a-25,b-25);
    this.mask.endFill();
}
this.mc_2.setMask(this.mask);

this.mask.lineStyle(50,"0x000000",100);
this.mask.moveTo(-100,-100);
this.onEnterFrame = function(){
    skrabe(this.mask._xmouse,this.mask._ymouse);
}
Avatar billede snuf Nybegynder
19. oktober 2004 - 10:30 #4
Tak. Skal på arbejde nu. Kikker på det i aften.
Avatar billede snuf Nybegynder
19. oktober 2004 - 11:11 #5
(Kommentar fra arbejdet)

Jeg har testet det, og det virker jo som det skal!

Tilbage er blot at det er min importerede .png som "skraber det bort", istedet for cursoren.

Jeg er (som sagt) et fjols til actionscripting. Derfor håber jeg du (fortsat) kan forklare det så (selv) jeg forstår det.

På forhånd tak.

Da jeg fiskede efter en tutorial, og i stedet fik "direkte konsulenthjælp", vil jeg gerne hæve pointsummen.
Avatar billede alexander_j Nybegynder
19. oktober 2004 - 14:37 #6
Hvis du vil lave din egen cursor, så skal du bare lave et movieclip, skjule musemarkøren og lade movieclippet følge musemarkøren! Derudover er det en god ide at sætte dybde til at være allerøverst

guide:
1. lav et movieclip med din markør i og kald den mc_3

2. læg følgende kode kode i frame 1
Mouse.hide();
this.mc_3.swapDepths(1000000);
this.mc_3.onEnterFrame = function(){
    this._x = _root._xmouse;
    this._y = _root._ymouse;
}
Avatar billede snuf Nybegynder
19. oktober 2004 - 17:09 #7
Jeps. Alt er fjong! Imponerende!

Smid venligst et svar så du kan få dine point. Hvis du vil have flere point opretter jeg gerne et spørgsmål så du kan få det.

Jeg behøver muligvis et råd senere når jeg skal have finjusteret det hele. Feks. ville jeg gerne kunne ændre størrelse (og vinkel) på "skraberen". Men det er helt muligt at jeg skal kan fixe det, ved at justere lidt på dit script.

I hvert fald: Mange tak for eksperthjælpen!
Avatar billede alexander_j Nybegynder
19. oktober 2004 - 17:19 #8
no problemo - når bare det kan bruges
Avatar billede snuf Nybegynder
19. oktober 2004 - 17:39 #9
Det kan det!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester