tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Masterclavat
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
503
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    The Hawkmouth The Hawkmouth ist offline Grünschnabel
    Registriert seit
    Nov 2008
    Beiträge
    2
    Hi all. Bin neu hier, wie man unschwer erkennen kann . Bringe aber etwas VB Erfahrung mit (aus meiner 9.) Das Wissen ist nich allzu groß, aber es reicht für die kleinen grundlegenden Funktionen.

    Ich versuche mehrere Active Time Battle Balken zu programmieren (so wie es bei Final Fantasy Games der Fall ist). Hoffe ich habs ins richtige Forum gepostet...

    Ich habe:
    • einen CommandButton (Start)
    • mehrere ProgressBars
    • eine Textbox für den Interval eines Timers
    • eine Textbox für die Anzeige des aktuellen Wertes einer Progressbar
    • mehrere Timer

    Da ich aber erst vor kurzem die Express Edition 2008 von VB heruntergeladen habe und ich mich damit nich richtig zurechtfinde, bin ich auf etwas Hilfe angewiesen

    Funktion:
    =======


    Durch klicken auf den Start Button, springen die Timer an (Timer.Enabled = True)
    Die Timer zählen jeweils immer +1. Die Progressbars laufen hinauf, bis sie den Wert 100 erreichen (was gleichzeitig auch ihr Maximalwert ist). Wenn eine Progressbar den Wert 100 erreicht hat, stoppen alle Timer und damit auch alle Progressbars.

    Die Progressbar, welche soeben den Wert 100 erreicht hat, soll wieder auf 0 zurückgesetzt werden (die anderen bleiben auf ihren Werten). Wird jetzt wieder auf Start geklickt, laufen alle Timer und somit alle Bars wieder weiter, bis die nächste Bar ihren Wert 100 erreicht. Das ganze geht immer wieder so weiter (im Prinzip wie bei allen FF Games (Charakter ist an der Reihe, nachdem Aktion getätigt, füllt sich der Balken wieder von vorne)

    Die Probleme:
    =========


    Soo, jetz hab ich schon etwas herumgewerkelt, aber steh immer wieder auf dem Schlauch. Vor allem hab ich das Gefühl, das hier das Programmierverhalten etwas anders ist als in VB6.0.

    Problem 1: Intervall
    Wie regele ich am besten die Geschwindigkeit meiner Progressbars? Ich habe ja neben meiner Bar eine Textbox, in der ich den Intervall eingeben kann, den das Programm dann automatisch gleich übernimmt. Je niedriger der Wert, desto schneller füllt sich die Bar. Ich möchte aber gerne das ganze umdrehen, sprich, je höher der Wert, desto schneller füllt sich die Bar. Vorschläge


    Problem 2: Übermitteln an die zweite Textbox

    Die Werte der Progressbars sollen an die zweite Textbox übermittelt werden (so das ich in der Textbox immer den aktuellen Wert der Bar ablesen kann). Umgekehrt, wenn ich in diese Box einen Wert eingebe, soll sie auch der Progressbar übermittelt werden. Z.B. gebe ich in der Textbox "50" ein, so muss die Progressbar zur Hälfte gefüllt sein. Der Code is das geringste Problem, nur wo pack ich diesen Code hin?

    In das Click Ereignis gehts nich, im Timer_Tick Ereignis auch nich...

    Nun ja soweit ers ma dazu...

    Hier ein Screenshot noch:
    Wäre für Unterstützung recht dankbar ...
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken ATB Balken aus Final Fantasy nachahmen in VB Express 2008-image0001.jpg  
     

  2. #2
    Masterclavat Masterclavat ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Beiträge
    325
    Problem1:

    Vieleicht so:

    Code :
    1
    
    1000-wert


    Also:

    Code vbnet:
    1
    
    DeinTimer.Interval = 1000 - CInt(DeineTextBox.Text)


    Problem2:

    Versuchs mal mit dem TextChanged-Event, der TextBox:

    Code vbnet:
    1
    
    DeineProgressBar.Value = CInt(DeineTextBox.Text)
    The Hawkmouth bedankt sich. 

  3. #3
    Masterclavat Masterclavat ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Beiträge
    325
    Da gibt es meines Wissens nach, keine eingebaute Möglichkeit das zu überprüfen.

    Wäre es denn nicht möglich, das im Tick-Ereignis zu machen?

    Oder schreib dir ne Sub, die du immer aufrufst, wenn du den Wert der Progressbar veränderst. (Was übersichtlicher ist, wenn du den Wert an mehreren verschiedenen Stellen änderst)

    Code vbnet:
    1
    2
    3
    4
    
    Private Sub ChangeValue(ByVal value As Integer)
         DeineProgressBar.Value = value
         DeineTextBox.Text = value.ToString
    End Sub
     

  4. #4
    The Hawkmouth The Hawkmouth ist offline Grünschnabel
    Registriert seit
    Nov 2008
    Beiträge
    2
    omg alles gelöscht hab weiter an den Codes geschrieben, wollte ausführen und dann kam ne Meldung (Ressource x konnte nich gefunden werden). Hab geschlossen ohne zu speichern. Starte neu und nix is mehr da. WTF? Haben die Autosave drin?

    Ich will VB6.0 *omg*

    thx 4 answers
     

Ähnliche Themen

  1. Final Fantasy 7 - Advent Children
    Von Selena im Forum Kino & Filme
    Antworten: 23
    Letzter Beitrag: 14.12.08, 15:21
  2. Final Fantasy XII / Fran
    Von thekiller im Forum Smalltalk
    Antworten: 0
    Letzter Beitrag: 29.12.07, 02:58
  3. Final Fantasy VII / 7 ATB-System
    Von Luna12 im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 2
    Letzter Beitrag: 12.12.07, 23:56
  4. Final Fantasy VII - Zauber in 3dsmax?
    Von Nudl im Forum 3D Studio Max
    Antworten: 5
    Letzter Beitrag: 02.10.04, 01:24
  5. Final Fantasy
    Von DeeZ im Forum Cinema 4D
    Antworten: 13
    Letzter Beitrag: 05.07.04, 22:38