Avatar billede baitianlong Nybegynder
31. januar 2002 - 03:51 Der er 28 kommentarer og
1 løsning

Fjern cursor indtil man rammer filmen ?!?!?!

Jeg har lavet en cursor i et movieclip, som jeg bruger i min "hovedfilm" vha.
setproperty(_x,_this,_root._xmouse)
...og det samme for y !

Men jeg vil have at den ikke er synlig (og ikke står oppe hjørnet) før man rammer flashen med musen. Jeg har skrevet dette i object actions,

onClipEvent (load) {
    Mouse.hide();
}
onClipEvent (enterFrame) {
    if (_ymouse = 0) {
        setProperty (_this, _alpha, 0);
    } else {
        setProperty (_this, _alpha, 255);
    }
}

hvad er der galt ? Den gemmer den alm. mus fint, men den hjemmelavede cursor er der hele tiden (før man rammer flashen)...
Avatar billede lingoman Nybegynder
31. januar 2002 - 04:07 #1
Hvad mener du med "før den rammer flashen" ?
hvis du vil have at din hjemmelavede cursor først skal være synlig hvis musen er mellem fks _y = 0 til _y = 400

så kan du skrive

onClipEvent (load) {
    Mouse.hide();
    _visible = false;
}
onClipEvent (enterFrame) {
    if ((_root._ymouse < 0) || (_root._ymouse >300 )) {
        _visible = false;
    } else {
        _visible = true;
    }
}

mvh geo
Avatar billede lingoman Nybegynder
31. januar 2002 - 04:09 #2
Du kan også bruge _root._height i stedet for 300 eller 400 så det altid passer med din films dimensioner.
Avatar billede barklund Nybegynder
31. januar 2002 - 10:59 #3
Findes _root._height og _root._width? Sejt... Så lærte jeg noget i dag...
Avatar billede lingoman Nybegynder
31. januar 2002 - 15:22 #4
Næ.., det gør den vist ikke :(
Avatar billede barklund Nybegynder
31. januar 2002 - 15:40 #5
Jeg kan huske at have prøvet en gang, men ikke fået det til at virke, og har vist aldrig forsøgt siden... Men det kunne da godt være, at den var der i 5'eren, og jeg kun havde testet i 4'eren...

Men det kunne være fedt... :o)
Avatar billede barklund Nybegynder
31. januar 2002 - 15:42 #6
...Men noget helt andet... Kan man ikke lave _root.hitTest(_xmouse,_ymouse), som kun evaluerer true, når musen er på scenen... eller?
Avatar billede lingoman Nybegynder
31. januar 2002 - 15:45 #7
God ide! Det er bestemt et forsøg værd :)
Avatar billede baitianlong Nybegynder
31. januar 2002 - 16:57 #8
Hey Lingoman... Din kode virker fint !!! Men hvordan tilføjer jeg samme funktion på x-værdien... Dette virker ikke, og ødelægger din funktion !!

onClipEvent (load) {
    Mouse.hide();
    _visible = false;
}
onClipEvent (enterFrame) {
    if ((_root._ymouse < 0) || (_root._ymouse >330 )) {
        _visible = false;
    } else {
        _visible = true;
    }
    if ((_root._xmouse < 0) || (_root._xmouse >740 )) {
        _visible = false;
    } else {
        _visible = true;
    }
}

Kan du ikke lige greje den ?
Avatar billede barklund Nybegynder
31. januar 2002 - 17:25 #9
Som vi snakkede lidt om:

onClipEvent (load) {
    Mouse.hide();
}
onClipEvent (enterFrame) {
    _visible = _root.hitTest(_root._xmouse,_root._ymouse);
}

Mere fylder det ikke...

/Barklund
Avatar billede baitianlong Nybegynder
31. januar 2002 - 17:45 #10
Barklund >> det virker da ikke . Der sker ikke en meter ?!. Musen er synlig hele tiden
Avatar billede barklund Nybegynder
31. januar 2002 - 17:57 #11
hmm... Jeg lavede denne på et smartClip:

onClipEvent (enterFrame) {
    if (_root.hitTest(_root._xmouse, _root._ymouse)) {
        trace ("(" add _root._xmouse add "," add _root._ymouse add ")");
    }
}

Og denne tracede aldrig noget... Så satte jeg noget ind i _root og pludselig tracede den, når jeg var over dette element. Så satte jeg noget til at fylde hele _root og nu tracede den altid, når jeg var inden over filmen...

Men så satte jeg et tekstfelt til at være værdien af denne hitTest, eksporterede og prøvede i standalone, men så skete der som du siger... Denne evaluerede altid til true, for når musen er udenfor vinduet, så ved filmen ikke, hvor musen er og husker derfor dens sidste position.. Mærkeligt...

Men så kan det jo ikke laves, hvis flash aldrig ved, at musen har bevæget sig uden for filmen og hele tiden gemmer musens sidste position inden i filmen... Dumt!

Man kan så lave sin film lidt større end indholdet og så vil der være et tomt stykke i kanten, hvor musen så vil være "udenfor", men det passer måske ikke ind i designet og er usikkert, da man kan køre musen hurtigt ud af filmen så den ikke opdager det...

Nogen der har et andet bud?

/Barklund
Avatar billede baitianlong Nybegynder
31. januar 2002 - 18:07 #12
Den kode som Lingoman skrev var nogenlunde !!! Den virker når man tester movie i flash, men den virker ikke, når flashen er puttet i et html dokument/frameset.

Måske kan du "reparere" det script ?!
Avatar billede lingoman Nybegynder
31. januar 2002 - 18:09 #13
Synd at barklunds metode ikke virker.. Den er meget elegant!
Så må vi jo hardkode det i stedet..
Hvis vi siger at din film er 300 i højden og 600 i bredden

onClipEvent (load) {
pWidth = 600;
pHeight = 300;
    Mouse.hide();
    _visible = false;
}
onClipEvent (enterFrame) {
    if ((_root._ymouse < 0) || (_root._ymouse >pHeight ) || (_root._xmouse >pWidth ) || (_root._xmouse <0) ){
        _visible = false;
    } else {
        _visible = true;
    }
}
Avatar billede barklund Nybegynder
31. januar 2002 - 18:18 #14
Men lingoman.. Problemet er, at _root._ymouse altid vil være inden for dette interval, da flash ikke opdaterer værdien af denne variabel, når musen ryger uden for filmen, hvis man tester i standalone eller browser...
Avatar billede baitianlong Nybegynder
31. januar 2002 - 18:21 #15
lingoman>>> Det virker fint når jeg tester movie, men ikke når filmen er i et html-dok !!! Måske fordi codebasen er lige så stor som flashen, og den ikke ved hvor musen er når den ikke er i flashen. I hvert fald er cursoren oppe i hjørnet (0,0) før man "rammer" filmen med musen. Hvad med en kode, der siger at hvis _ymouse eller _xmouse er nul (det må de jo være som udgangspunkt) er cursoren usynlig ???
Avatar billede lingoman Nybegynder
31. januar 2002 - 18:25 #16
virker det heller ikke hvis "<" erstattes med "<="  ?
Avatar billede lingoman Nybegynder
31. januar 2002 - 18:32 #17
Så vender vi den om ;)

onClipEvent (load) {
  pWidth = 600;
  pHeight = 300;
  Mouse.hide();
  _visible = false;
}
onClipEvent (enterFrame) {
    if ((_root._ymouse > 0) && (_root._ymouse < pHeight ) && (_root._xmouse < pWidth ) && (_root._xmouse > 0) ){
        _visible = true;
    } else {
        _visible = false;
    }
}
Avatar billede baitianlong Nybegynder
31. januar 2002 - 18:32 #18
Joo (<=) Nu virker det delvist. Cursoren er væk indtil man rammer filmen, og den forsvinder også igen hvis man kører langsomt ud i top eller til venstre, men ikke i bund og til højre ... Vi nærmer os.
Avatar billede baitianlong Nybegynder
31. januar 2002 - 18:39 #19
Min film er 740x330 px

Den sidste du skrev virkede fint, men man skal af en eller anden årsag skrive

onClipEvent (load) {
  pWidth = 738;    (TO PIXELS MINDRE)
  pHeight = 328;  (DET SAMME HER)
  Mouse.hide();
  _visible = false;
}
onClipEvent (enterFrame) {
    if ((_root._ymouse > 0) && (_root._ymouse < pHeight ) && (_root._xmouse < pWidth ) && (_root._xmouse > 0) ){
        _visible = true;
    } else {
        _visible = false;
    }
}

For at den forsvinder til højre og i bund... Såå du har løst opgaven, Lingoman. Tak for det.

legende.dk
Avatar billede barklund Nybegynder
31. januar 2002 - 18:40 #20
hmm... Virker det også, hvis man nærmest "kaster" musen ud af filmen til højre eller i bunden?

/Barklund
Avatar billede lingoman Nybegynder
31. januar 2002 - 18:41 #21
Tak til jer begge for at have gjort mig opmærksom på problemet :)
Avatar billede baitianlong Nybegynder
31. januar 2002 - 18:43 #22
Barklund>> Nej selvfølgelig ikke, man skal være "følsom" Kan du gøre det bedre ?? (Kom endelig med det !!)
Avatar billede baitianlong Nybegynder
31. januar 2002 - 18:46 #23
...Men det hjælper at sætte værdierne lidt inde på flashen.

Jeg har prøvet at skrive 2 i stedet for nul (ligesom i den anden ende hvor 738 er 740 !!!) således at musen forsvinder i de yderste 2 pixels. Det er ret godt...
Avatar billede lingoman Nybegynder
31. januar 2002 - 18:56 #24
Jeg tror at man kan
1. øge framerate
2. øge rammen (fks fra 2 til 10 )

så man har større chancer for at den sidste _xmouse og _ymouse ligger på rammen
Avatar billede baitianlong Nybegynder
02. februar 2002 - 22:01 #25
*Tak til jer begge for jeres hjælp her og i mine mange andre spørgsmål*
Avatar billede soelle Nybegynder
07. december 2006 - 22:25 #26
Er der nogensinde kommet en løsning som også virker hvis man kører musen hurtigt ud til siderne eller top/bund skriver?
Avatar billede barklund Nybegynder
08. december 2006 - 12:12 #27
Jeg tror det er bedre at starte et nyt spørgsmål end at fortsætte i dette, der er snart 5 år gammelt ;)
Avatar billede baitianlong Nybegynder
08. december 2006 - 14:53 #28
Ja, jeg var ogsaa noget overrasket over at faa mail fra denne spoergsmal :)

Ellers smuk kode der med setProperty... Mega old school.

Og hej til dig Barklund. Laenge siden vi hyggede her :p
Avatar billede soelle Nybegynder
08. december 2006 - 20:41 #29
Godt ord igen :-) Jeg mente bare ikke der var nogen grund til at oprette et hvis der ikke var fundet en løsning. Nu kan man komme med svar her: http://www.eksperten.dk/spm/749692
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