# Hilfe in Visual Basic 6.0. Wie erstellt man Animationen.



## Willy Fog (5. November 2003)

*Hallo Leute.* 

Ich bin neu hier, aber fühle mich jetzt schon fast wie zu Hause.  
Weil ich gesehen habe, das man hier wirklich die meisten Probleme
in griff bekommt. Und das beste ist, das einem sofort geholfen wird. 
Und wie die meisten, habe auch ich auch ein Problem. 
Und zwar: Wie fügt man Animationen bei Visual BASIC 6.0 ein ? 
MFG Björn.


----------



## Retlaw (6. November 2003)

Hallo,
welche Art von Animation hättest du denn gerne ?

- Kleines "Video" wie im Explorer beim Kopieren von Dateien
- Schaltflächen die ihre Farben ändern oder blinken
- Dinge die sich über das Fenster bewegen
- ...


----------



## Willy Fog (6. November 2003)

*Wow, das kannst Du alles ?*

Ist ja echt der Hammer. 
Also, ich möchte Animationen erstellen wie diese hier,
die ich an diesem Beitrag angehängt habe.
Und solche Videos, die man bei dem Explorer beim kopieren
von Dateien bekommt.
Ich habe die Animationen selbst gemacht, deswegen
sind sie auch nicht so gut, wie die meisten hier.
Aber für ein Anfänger nicht schlecht. Hoffe ich.  
MFG Björn.


----------



## DrSoong (6. November 2003)

Da gibts zwei Varianten:

1) mit dem Webbrowser-Control: http://www.vbarchiv.net/archiv/tipp_details.php3?pid=415

2) Einzelbilder auslesen und anzeigen: http://www.vbarchiv.net/archiv/tipp_details.php?pid=62


Der Doc!


----------



## Willy Fog (7. November 2003)

*Vielen Dank*

*Vielen Dank,*  

Ich werde das mal versuchen. ;-] 
Ich schreibe dann wieder, ob es geklappt hat, oder nicht.:-( 
Nochmals vielen dank. 
MFG Björn.;-) 

Als Dank habe ich hier ein Passwort Vordruck.
Den man beliebig verändern kann.  
Viel Spaß damit.


----------



## Retlaw (7. November 2003)

Für Animationen wie im Explorer beim Kopieren kannst du das Animation-Control verwenden.
Das ist ein fertiges Steuerelement mit dem du AVI-VideoClips anzeigen kannst.
Im Lieferumfang von VB sind normal schon eine Menge AVI-Clips enthalten, z.B. die fliegenden Blätter beim Kopieren.


----------



## Willy Fog (7. November 2003)

*An Retlaw*

*Animationen wie im Explorer.*

Ja, das stimmt. Ich weiß sogar was man tun muss um diese
Komponente zu bekommen. Ich weiß auch wie er heißt.
Er heißt: Microsoft Windows Comon Controls-2 6.0 (SP4).
So stand es in meinem Heft. Was da aber nicht steht, ist wie 
man den einsetzen, oder benutzen kann.
Oder wie man eine Animation erstellt.

Anbei sind ein paar Cursors, für Html oder Visual BASIC Dateien.
Wenn Ihr mal sehen wolltet, wie Euer Cursor und Mülleimer in der
mini Version aussehen würden.
Dann sind diese Dateien genau die richtigen.
Viel Spaß damit.


----------



## Willy Fog (9. November 2003)

*An Dr Soong*

*An Dr Soong*  

Ich habe Deine Tips versucht.
Aber bei Tip 1 weis ich nicht, welche Komponente ich
hinzufügen muß, um den Webbrowser-Control zu 
bekommen.
Und bei Tip 2 zeigt er leider nur die Bewegung, und nicht das
ganze Bild an.
Der Hintergrund wird praktisch nur mit dem ersten Bild gezeigt.
Gibt es nicht eine leichtere Animation?
Zum Beispiel: einfach kleinere AVI-Filme über größere Bilder
tun, wie bei Macromedia Flash? 
Hilfe suchend Euer Björn.


----------



## Retlaw (10. November 2003)

*Re: An Retlaw*



> _Original geschrieben von Willy Fog _
> *Animationen wie im Explorer.*
> 
> Ja, das stimmt. Ich weiß sogar was man tun muss um diese
> ...



Ins Projekt einbinden:
Projekt => Referenzen
Dann die Checkbox vor dem Control markieren und schon erscheint es bei den anderen Controls und du kannst es einfügen.

Oder du klickst bei neuen Projekten nicht auf Standard Exe sondern auf "VB Enterprise Edition Controls" oder "VB Professional Edition Controls", falls du diese Version hast.

Benutzen:
Die Eigenschaften und Methoden sind eigentlich selbsterklärend.
Mit Open öffnest du eine AVI-Datei (Dateinamen angeben).
Mit Play/Stop kannst du die Wiedergabe steuer, usw.

Wenn die Eigenschaft Autoplay auf True steht startet der Clip sofort wenn er geladen wird, wenns auf False steht musst du ihn nach dem Laden selber mit Play starten.


----------



## Willy Fog (10. November 2003)

*An Retlaw*

Bei mir steht leider nur
VB Enterprise Edition - Steuerelemente.
Und leider nichts, was mit Controls anfängt, oder aufhört.
Hierzu habe ich ein Bild von "Neu Menü" gemacht.
Da kannst Du denn sehen, was für Menüs mir zur
Verfügung stehen.
MFG Björn.


----------



## Retlaw (11. November 2003)

Das letzte im Menü, VB Enterprise Edition Steuerelemente, Controls ist das englische Wort  

Ansonsten kannst du auch Standard-Exe verwenden, dann musst du aber wie oben beschrieben das Animation-Control selber einbinden.


----------



## Willy Fog (11. November 2003)

*An Retlaw* 

Also ich habe versucht das Animations-Tool wie die
MMControl1 zu verwenden, aber irgendwie kam da nur
ein leichtes Husten raus.
Hast Du nicht soetwas, wie eine Beispiel Datei oder so.
Ach ja, und danke das Du, soviel Geduld mit mir hast.
Aber ich bin halt noch ein Anfänger.
Ich hätte noch eine Zusatzfrage.
Und zwar: kann man Visual BASIC, bei Windows 2000
nicht Benutzen ?
Ich habe eine Spezielle Uhr programmiert. Und meinen Kumpel geschickt.
Und obwohl ich auch die msvbvm60.dll geschickt habe, sagt sein
Windows 2000, das Ihm noch was fehlt.
Könnte ich die Datei Dir mal schicken ?
Leider ist Die Datei zu groß, um sie hier ins Forum zu stellen.
MFG Björn.


----------



## Retlaw (13. November 2003)

VB-Programme laufen auch unter W2K, wenn eine Datei fehlt musst
du dir den Namen merken und diese Datei auch weitergeben.
Aber grundsätzlich wäre es besser ein Setup-Paket zu erstellen
wenn du Programme weitergibts.
Bei VB ist ein Tool enthalten das so etwas kann, der
"Verpackungs- und Weitergabeassistent".

Verwendung des Animation-Control:
Film laden:

```
Animation1.Open "c:\dateiname.avi"
```
Film abspielen:

```
Animation1.Play
```
Film stoppen:

```
Animation1.Stop
```
Wenn du eine Animation stoppst gehts bei play wieder von vorne los,
der merkt sich nicht die Stelle an der er war.

Wenn beim Aufruf von Open die Datei nicht existiert gibts einen Laufzeitfehler.

Wenn die Eigenschaft Autoplay auf True steht startet der Film
sobald du ihn mit Open lädst, steht sie auf False wird er nur
geladen und das erste Bild angezeigt, starten kannst ihn dann mit Play.

Beispiel: Laden einer AVI-Datei die per Klick gestartet/gestoppt werden kann

```
Dim running As Boolean

Private Sub Animation1_Click()
    running = Not running
    If running = True Then
        Animation1.Play
    Else
        Animation1.Stop
    End If
End Sub

Private Sub Form_Load()
    running = False
    Animation1.AutoPlay = False
    Animation1.Open "c:\irgendwo\irgendwas.avi"
End Sub
```


----------



## Willy Fog (17. November 2003)

*Es hat kurz geklappt.* 

Hallo Retlaw,

es hat kurze Zeit geklappt.
Ich weiß noch nicht mal, wie es geklappt hat.
Ich bräuchte ein Beispiel Programm.
Und zwar, eins wo die Animation vom Start an beginnt,
und eins wo die Animation per Knopfdruck ausgelöst wird.
Ich stecke wirklich in einer Zwick Mühle. 
Aber ich bin sicher, wenn jemand etwas einfallen,
wird, dann Dir !  
MFG Björn.


----------



## Retlaw (17. November 2003)

Weiß zwar nicht was an meinem letzten Beitrag jetzt so unverständlich war aber gut, versuch mal das angehängte Programm.
Erklärung ist im Quelltext als Kommentar dabei.


----------



## Willy Fog (17. November 2003)

*An Retlaw.*  

Nein, an Dir hat es auch nicht gelegen 
Und nachdem ich Deine Animation angeschaut 
habe, Ist mir auch ein Licht aufgegangen. 
Und ich konnte herausfinden, wo der Fehler war.
Vielen Dank noch mal Retlaw. So bald ich mein 
Programm fertig habe, schicke ich es Dir, wenn Du möchtest. 
Vielen dank noch mal.
MFG Björn.


----------



## Willy Fog (18. November 2003)

*Wie kann ich die Animation, nur einmal abspielen lassen ?* 

Halli Hallo,  
Ich Grüße alle *Tutorials.de* Mittglieder. 
Also das Programm ist, so weit fertig.
Ich will nun aber ein Spiel programmieren,
in dem einmalige Animationen schon fast Pflicht sind. 
*Beispiel:* Wenn ich ein Haus bezahlt habe, oder
später eine Fabrik, und das Gebäude ist aufgebaut.
Dann wäre es sehr schlecht, wenn da plötzlich gar 
nichts mehr steht, und das Gebäude noch mal gebaut wird.
Wie das Spiel heissen soll, steht bis jetzt auch noch nicht fest.
Aber eins steht fest. Nämlich, das bei dem Spiel
Grundstücke gekauft, bebaut und Fabriken, Hochhäuser
und/oder Geschäfte drauf gebaut werden sollen.
MFG Björn.


----------



## Retlaw (19. November 2003)

Animation einmal abspielen:

```
Animation1.AutoPlay = False
Animation1.Open = "Dateiname.avi"
Animation1.Play
```
Aber nachdem du ein Spiel schreiben willst ist das Animation-Control eh nicht geeignet.
Deine Animation könnte so aussehen:
Wenn du ein Gebäude kaufst erstellst du ein neues Objekt, das hat eine Eigenschaft Fertigstellung, die erstmal auf 0 steht. Je weiter das Gebäude gebaut wird, desto höher wird dieser Wert. Jetzt musst du nur für bestimmte Wertebereiche entsprechende Grafiken zuweisen.

Ich nehm mal an das soll ein Echtzeitspiel werden, dann würde es ja in einer Schleife laufen. In jedem Durchlauf wird dann das Bild aktualisiert und neu gezeichnet.

Für schnelle 2D-Grafikausgabe kannst du die API-Funktion BitBlt benutzen.
Damit kannst du auch die für Spiele wichtigen Grafiken mit transparenten Flächen zeichnen.

Link zum Thema Spieleprogrammierung mit VB.


----------



## Willy Fog (27. November 2003)

*Hier ist die angekündigte Animation*

  Vielen Dank an alle Tutorials.de user.  
 Aber am meisten bedanke ich mich, bei Retlaw.  

Weil durch Ihm wurde es mir möglich, richtige 
Animationen, zu erstellen. 
Eine Beispiel Animation, habe ich jetzt drangehängt. 
Es handelt sich um eine Burg.
Vielen, vielen dank noch mal.
MFG Björn.

PS Ich habe bei den Link, den ich von Retlaw bekommen
        habe, gemerkt das ich noch sehr viel zu lernen habe.
        Aber wenn man hart an sich arbeitet, dann aber auch 
        Berge versetzen kann


----------

