Avatar billede fiil123 Nybegynder
30. marts 2006 - 12:23 Der er 11 kommentarer og
1 løsning

Hold MC indenfor rammen

Jeg har det her som en lille test:
http://www.kfiil.com/eksperten/
Det er blot et MC jeg kan styre med piletasterne, men hvordan gør jeg sådan at jeg ikke kan kører MC med billede ud af rammen?
Avatar billede _k Nybegynder
31. marts 2006 - 11:24 #1
Jeg synes du skal rydde op på dit skrivebord :)

Du skal lave en if-statement i din kode der tjekker hvor langt ud man er nået. Er man nået for langt, så skal man ikke have lov til at komme videre. Syntaksmæssigt bliver det noget i retning af: ("mc" er navnet på det mc indeholdende et billede du flytter rundt på)

var leftMargin:Number = 0;
var rigthMargin:Number = Stage.width;

if(mc._x > leftMargin) {
  mc._x += 1;
}

if(mc._x < rigthMargin) {
  mc._x -= 1;
}

...du kan så gøre noget tilsvarende på y-aksen.
Avatar billede fiil123 Nybegynder
01. april 2006 - 14:48 #2
onClipEvent (enterFrame) {

if ( Key.isDown( Key.RIGHT ) )
{   
this._x += 20;
   
}

if ( Key.isDown( Key.LEFT ) )
{
    this._x -= 20;
   
}

if ( Key.isDown( Key.UP ) )
{
    this._y-=20;
}

if ( Key.isDown( Key.DOWN ) )
{
    this._y+=20;
}

}
Avatar billede fiil123 Nybegynder
01. april 2006 - 14:49 #3
Det er min kode sådan som det ligger på nettet nu! jeg har prøvet lidt frem og tilbage med det kode du har skrevet men kan ikke rigtigt få det til at virke som jeg gerne vil
Avatar billede _k Nybegynder
01. april 2006 - 17:19 #4
Prøv den her:

onClipEvent(load) {
    this.minX = 0;
    this.maxX = Stage.width - this._width;
    this.minY = 0;
    this.maxY = Stage.height - this._height;
    }
onClipEvent (enterFrame) {

    if ( Key.isDown( Key.RIGHT ) )
    { 
        if(this._x < this.maxX) {
            this._x += 20;
        }
    }
   
    if ( Key.isDown( Key.LEFT ) )
    {
        if(this._x > this.minX) {
            this._x -= 20;
        }
    }
   
    if ( Key.isDown( Key.UP ) )
    {
        trace("this._y " + this._y + " - minY: " + this.minY);
        if(this._y > this.minY) {
            this._y-=20;
        }
    }
   
    if ( Key.isDown( Key.DOWN ) )
    {
        if(this._y < this.maxY) {
            this._y+=20;
        }
    }
}
Avatar billede fiil123 Nybegynder
01. april 2006 - 17:29 #5
Nu kan jeg slet ikke styre det
Avatar billede _k Nybegynder
01. april 2006 - 17:35 #6
Så prøv at stille lidt på variablene i onClipEvent(load). Det er dem der sætter grænser for hvor lant ud mc'et må komme. Prøv evt. at starte en ny film med et lille mc - så er principperne måske en smule mere gennemskuelige?
Avatar billede fiil123 Nybegynder
01. april 2006 - 17:43 #7
http://kfiil.com/eksperten/
hvis du ser den falsh så "virker" det med den lille firkant. Men det er jo klart at lige så snart billedet bliver større end viduet vil det så ikke kunne bevæge sig?
Avatar billede _k Nybegynder
01. april 2006 - 17:47 #8
Nemmerli - og det er derfor du skal ændre på variabelværdierne så de passer til DIT billede. Du kan i princippet bruge billedets højde og bredde minus din stages højde og bredde - men lørdag eftermiddag er jeg ikke lige den rigtige til at få lavet det regnestykke til dig ;)

..er det helt sort?
Avatar billede fiil123 Nybegynder
01. april 2006 - 17:49 #9
hehe og det skulle være bedre med mig eller hvad;) jeg er sq hårdt mærket efter 16 timers druk igår! jeg kigger lige lidt på det men nej det tror jeg ikke det er
Avatar billede fiil123 Nybegynder
30. juni 2006 - 13:11 #10
Lukker her... Tråden er død...
Hvis du vil have point _k så skriv
Avatar billede _k Nybegynder
30. juni 2006 - 13:59 #11
Det er helt ok du snupper pointene selv. Håber dog at du kom lidt nærmere målet....
Avatar billede fiil123 Nybegynder
30. juni 2006 - 14:12 #12
Projektet blev ikke til noget. Så pga. studie travlhed fik jeg aldrig arbejdet mere med 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