This site requires JavaScript, please enable it in your browser!
Greenfoot back
treinentom
treinentom wrote ...

2012/10/23

Scroll world problem

1
2
3
SPower SPower

2012/10/23

#
Als eerste, op welke locatie heeft u de ScrollActor toegevoegd? En het tweede punt, dat kan allemaal in 'one line of code' :) :
getWorld().setCameraLocation(getGlobalX(), getGlobalY());
vanuit een ScrollActor subclass.
SPower SPower

2012/10/23

#
En misschien kunt u mijn echte naam of mijn naam hier op greenfoot.org noemen als u dit allemaal voorlegt aan uw klas..
treinentom treinentom

2012/10/23

#
        addCameraFollower(new Edward(), 60, 700);
daar maken we de Actor aan. We hebben inmiddels ook een nieuw probleem, en dat is dat de achtergrond steeds opnieuw lijkt te laden, of ik snap het instellen van de achtergrond niet helemaal. We hebben een achtergrond van 1800x800, en een 'cameracanvas' van 600x300. Nu herhaalt de grote achtergrond zich om de 600 pixels. Excuus voor de vele vragen, maar ik heb slechts 6 weken ervaring met Greenfoot.
SPower SPower

2012/10/23

#
Over de eerste code, de gegeven coordinaten zijn gezien vanuit de camera, dus 0,0 zal in het midden van het scherm zijn. 700 als y coordinaat is dus wel erg hoog, en waarschijnlijk dus niet zichtbaar. En dat van de achtergrond klopt, ik had daar zelf alleen nog niet aan gedacht. U kunt zelf de setNewBackground methode aanpassen naar dit:
    public void setNewBackground(GreenfootImage background)  
        {  
            GreenfootImage back = background;  
              
            bigBackground.clear();  
            bigBackground.drawImage(back, 0,0);  
            bigBackground.drawImage(back, back.getWidth(),0);  
            bigBackground.drawImage(back, 0,back.getHeight());  
            bigBackground.drawImage(back, back.getWidth(),back.getHeight());  
              
            back.drawImage(bigBackground, scrollPosX, scrollPosY);  
        }  
en ik zal meteen een update posten op greenfoot.org, zodat anderen dit probleem niet ondervinden :)
treinentom treinentom

2012/10/23

#
We zullen zeker een eervolle vermelding plaatsen in de credits! Sven van Nigtevecht is het toch?
SPower SPower

2012/10/23

#
Inderdaad, en misschien als leuk detail erbij zeten dat ik 14 jaar oud ben :), maar dat hoeft niet per se.
SPower SPower

2012/10/23

#
Over de gegeven code, doe dit i.p.v. wat ik daarnet gaf:
    /**
     * Sets the background of the world. This will also initialize
     * everything to make the background scroll, something the
     * normal {@link setBackground} method doesn't.
     */
    public void setNewBackground(GreenfootImage background)
    {
        bigBackground.clear();
        if (background.getWidth() == bigBackground.getWidth() &&
            background.getHeight() == bigBackground.getHeight()) {
            bigBackground.drawImage(background, 0,0);
            back.clear();
            back.drawImage(bigBackground, scrollPosX,scrollPosY);
            return;
        }
        
        bigBackground.drawImage(background, 0,0);
        bigBackground.drawImage(background, background.getWidth(),0);
        bigBackground.drawImage(background, 0,background.getHeight());
        bigBackground.drawImage(background, background.getWidth(),background.getHeight());
        
        back.clear();
        back.drawImage(bigBackground, scrollPosX,scrollPosY);
    }
treinentom treinentom

2012/10/23

#
Bij implementatie van de nieuwe code van de achtergrond is het weer een wit plaatje. 14? Niceee, en wij doen eerste jaar HBO Informatica;)
treinentom treinentom

2012/10/23

#
mmm bij de tweede code is er wederom een herhalingsprobleem, het is iets verbeterd, maar het loopt niet geheel vloeiend.
SPower SPower

2012/10/23

#
Wellicht ligt het dan aan uw plaatje. Heeft u zelf getest of dat plaatje handig te gebruiken is voor dit?
treinentom treinentom

2012/10/23

#
Het plaatje klopt, als het spel zonder camera word gedraaid doet de achtergrond het wel. Wellicht heb ik het verkeerd geimplementeerd, we hebben een platformgame, en de achtergrond scrollt nu mee, maar als ik beweeg dan bewegen de platformen niet mee.
SPower SPower

2012/10/23

#
Zijn die toegevoegd met de normale addObject methode of met de addCameraFollower methode?
SPower SPower

2012/10/23

#
En zijn de platforms een subclass van ScrollActor?
treinentom treinentom

2012/10/23

#
Met de normale addObject methode.
treinentom treinentom

2012/10/23

#
Zal ik anders hier de code plaatsen waarin we de objecten etc. aanmaken? Dit is wel een zeer lange code
There are more replies on the next page.
1
2
3