JavaExempelAnimerade bilderAtt fundera på...
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
Grunderna Exempel

Att fundera på...

 Animerade bilder
 Animerade bilder - steg 2
* Att fundera på...

Övningar

  1. Ändra bredd till 400 och höjd till 180 på appletten. Dett sker i HTML koden

  2. Rita eller stjäl fyra bilder som du skall kalla bild0.gif ... bild3.gif eller bild0.jpg ... bild3.jpg
    Sätt dessa i images katalogen. Ändra sedan på Applet taggen i html sidan så att du visar dessa bilder istället för de tidigare

  3. Fördubbla bläddringshastigheten på animationen.

  4. Prova ändra i java koden så att Image.SCALE_SMOOTH ändras till Image.SCALE_FAST. Märker du någon skillnad?

  5. Sätt in följande rad direkt i början av paint funktionen:
    g.drawString( "Loading pictures. Please Wait...", 10, 10);
    Varför kan detta vara en god idé?

  6. Se till att vi har en vit bakgrund på appletten innan vi hunnit ladda bilderna


  7. Lite mer avancerat... (Överkurs - men kanske intressant)

    Ändra på raden:
                repaint( );
    
    Till:
        
                repaint(10,10, getSize().width-20, getSize().height-20);
    
    Samt ändra om paint funktionen till följande:
        public void paint(Graphics g) 
        {
            if ( ( tracker.statusAll(false) & MediaTracker.ERRORED ) != 0 ) 
            {
                g.setColor( Color.red );
                g.fillRect( 0, 0, getSize().width, getSize().height );
                return;
            }
            // -----------------------------------------------------
            // skall vi rita om ALLT?
            if (g.getClipBounds().height == getSize().height)
                g.drawImage( bg, 0, 0, this );
            // -----------------------------------------------------        
            if ( tracker.statusID(1, false) == MediaTracker.COMPLETE ) 
            {
                // -----------------------------------------------------
                // Behöver inte rita om HELA appleten - bara den rektangel där
                // animationsbilden finns
                g.setClip( 10, 10, getSize().width-20, getSize().height-20 );
                // får inte byta bild (index) innan denna loop är klar!
                synchronized ( this )
                {    
                   for ( int j = - getSize().width; j <= 10; j++ ) 
                   {   
                      // en liten paus på 10 millisekunder
                      try
                      {
                          Thread.sleep( 10 );
                      }
                      catch (InterruptedException e) 
                      {
                          break;
                      }
                      // rita in bilden - observera j variabelns användning
                      g.drawImage(anim[index], j, 10, this);
                  }
                }
                // -----------------------------------------------------
            }
        }
    }
    
    Vad gör programmet nu? Försök kontrollera från hjälpen vad de nya "orden" i programmet kan ha för betydelse. Prova även att ändra på loopen för att få bilderna att byta på lite olika sätt Klicka här för att få se en variant på detta tema
  Animerade bilder - steg 2Scribble i VB
Exempel
Färgblandare
EuroKalkylator
Editor
Animerade bilder ...
Scribble i VB
Scribble i Java ...


Top
< Animerade bilder - steg 2 Scribble i VB>
© Anders Enges, Vörå 2002  | 10.04.01 22:38 Visa asp koden