developer Geschrieben 11. September 2003 Geschrieben 11. September 2003 Hallo, ich habe ein Programm in dem ich ein Objekt erzeuge. Wärend der Laufzeit greife ich auf dieses Objekt1 zu und arbeite damit... Soweit ja ziemlich ungewöhnlich. Nun möchte ich ein Objekt2 erzeugen welches die gleichen Eigenschaften wie Objekt1 hat. Ich Führe z.B. eine Sub durch, wobei Objekt1 irgendwas macht. Nun möchte ich aber auch wechseln können, dass die Sub auch von Objekt2 durchgelaufen werden kann. Wie kann ich nun wärend der Laufzeit zwischen Objekt1 und Objekt2 wechsel? Ich hoffe es ist verständlich
Peregrin Geschrieben 11. September 2003 Geschrieben 11. September 2003 hi, mal sehen ob ich das richtig verstanden habe: sind die objekte o1 und o2 instanzen unterschiedlicher klassen? dann müssten diese eine gemeinsame schnittstelle implementieren, und du kannst dann in der funktion auf die methoden, eigenschaften der gemeinsamen schnittstelle zugreifen. hoffe, das war verständlich, sonst einfach nachfragen...
developer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 Konkret sieht es so aus, dass ich einen MS Assistenten animieren möchte. Da es aber ja mehrere Assisten gibt, möchte ich keine Redundanz erzeugen und einfach nur die gleiche ANimation von einem anderen Assistenten erledigen lassen. z.B. Private Sub PeedyStart() Dim Animation As Variant On Error Resume Next Agent1.Characters.Load "Peedy", "Peedy.acs" Set Peedy = Agent1.Characters("Peedy") Peedy.Show List1.Clear For Each Animation In Peedy.AnimationNames List1.AddItem Animation Next Animation With Peedy .MoveTo (Form1.Left + Form1.Width) / Screen.TwipsPerPixelX, _ (Form1.Top + (Form1.Height / 2)) / Screen.TwipsPerPixelY .Play "Surprised" .Play "Greet" .Speak "Hallo, dies ist ein Test." .Play "GestureDown" .Speak "Klicken sie bitte auf einem Listeneintrag, " & _ "um meine Fähigkeiten zu testen." End With End Sub Dies lässt den Vogel "Peedy" verschiedene Dinge erledigen. Falls der User aber "Merlin" oder "Genie" auswählt, soll ja nur ein anderes Objekt genommen werden. Allerdings soll er ja in die gleiche Sub springen, welche dann natürlich einen anderen Namen erhält. Zugegriffen wird auf das Microsoft Agent Control
-roTekuGeL- Geschrieben 11. September 2003 Geschrieben 11. September 2003 und wieso legst du dich nicht einfach nicht nur auf Peedy fest... Private Sub PeedyStart([Color=red]Figur as string[/Color]) Dim Animation As Variant On Error Resume Next Agent1.Characters.Load [Color=red]Figur[/Color], [Color=red]Figur & ".acs"[/Color] Set Peedy = Agent1.Characters([Color=red]Figur[/Color]) Peedy.Show List1.Clear For Each Animation In Peedy.AnimationNames List1.AddItem Animation Next Animation With Peedy .MoveTo (Form1.Left + Form1.Width) / Screen.TwipsPerPixelX, _ (Form1.Top + (Form1.Height / 2)) / Screen.TwipsPerPixelY .Play "Surprised" .Play "Greet" .Speak "Hallo, dies ist ein Test." .Play "GestureDown" .Speak "Klicken sie bitte auf einem Listeneintrag, " & _ "um meine Fähigkeiten zu testen." End With End Sub das war jetzt nur so ne idee... kann sein das ich etwas übersehen habe und es nicht funktioniert... btw: hast du den Agent in Deutsch? wenn ja wo gibts den?
developer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 Ich lege mich nicht fest, da ich unsere Kunden kenne... Die einen wollen ein Vögelchen, die anderen lieber den Merlin... Mich festlegen wollte ich ja genau nicht. Ja, ich habe Sie auf Deutsch... http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0218.shtml
-roTekuGeL- Geschrieben 11. September 2003 Geschrieben 11. September 2003 Original geschrieben von developer Ich lege mich nicht fest, da ich unsere Kunden kenne... Die einen wollen ein Vögelchen, die anderen lieber den Merlin... Mich festlegen wollte ich ja genau nicht. Versteh ich jetzt nicht... das Agent Steuerelement kann doch alle Figuren annehemen, die du ihm anbietest... du lässt den user wählen und gibst dem Objekt dann halt die Figur die der User gewählt hat... ich hab da irgendwo noch ein Beispiel rumliegen *wühl* btw: Danke
developer Geschrieben 11. September 2003 Autor Geschrieben 11. September 2003 Hrgggggggg, :floet: ich "#!*# .... Ich ändere Agent1.Characters.Load "Peedy", "Peedy.acs" Set Peedy = Agent1.Characters("Peedy") Peedy.Show einfach um in If Option1.value = True then Agent1.Characters.Load "Peedy", "Peedy.acs" Set Agent = Agent1.Characters("Peedy") Agent.Show if Option2.value = True then Agent1.Characters.Load "Merlin", "Merlin.acs" Set Agent = Agent1.Characters("Merlin") Agent.Show ... .... .... .... End If Oh man... Wieso denke ich immer so kompliziert?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden