[GastForen Archiv Adobe Director Darsteller per Lingo auf der Bühne einbinden?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

Darsteller per Lingo auf der Bühne einbinden?

fendres
Beiträge gesamt: 15

13. Mär 2006, 14:38
Beitrag # 1 von 2
Bewertung:
(2707 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich hab ein Skript geschrieben welches dynamisch Darsteller erzeugt, das funktioniert auch.

Nur wie bekomm ich diese Darsteller per Lingoscript auf die Bühne ? locH, locP bzw. rect können nicht angesprochen werden.

Mit diesem Code erstelle ich die Darsteller:
Code
  repeat with currentitem = 1 to list_count 

newText = _movie.newMember(#text)
newText.name = "TA" & currentitem
newText.Text = myList[currentitem][1]


newText = _movie.newMember(#text)
newText.name = "TB" & currentitem
newText.Text = myList[currentitem][2]


newText = _movie.newMember(#text)
newText.name = "TC" & currentitem
newText.Text = myList[currentitem][3]

end repeat


ciao
Florian

(Dieser Beitrag wurde von fendres am 13. Mär 2006, 14:56 geändert)
X

Darsteller per Lingo auf der Bühne einbinden?

Batam
Beiträge gesamt: 328

15. Mär 2006, 19:18
Beitrag # 2 von 2
Beitrag ID: #217786
Bewertung:
(2684 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi.

Antwort auf: Nur wie bekomm ich diese Darsteller per Lingoscript auf die Bühne?
locH, locP bzw. rect können nicht angesprochen werden.

Klar, ein Member hat diese Eigenschaften nicht.
Du musst erst noch virtuelle Sprites erzeugen. Außerdem musst du die Eigenschaften des virtuellen Members vorgeben.

Ungefähr so:
Code
-- virtuellen Member erzeugen 
on deineFunktion

-- was auch immer hier bei dir steht
-- repeat with currentitem = 1 to list_count

newText = _movie.newMember(#text)
newText.name = "TA" & currentitem
newText.Text = myList[currentitem][1]

-- newText.spritenum = 1
-- das geht nicht.
-- Spritenum ist ebenfalls eine Sprite- und keine Membereigenschaft.
-- du kannst aber wie üblich eine Variable benutzen
newVSprite = 1

-- hier Eigenschaften des Members festlegen
-- so Sachen wie font, fontSize , fontstyle, foreColor usw.
-- z.B.: mit newText.font = "Arial"
-- Woher soll Director sonst wissen, wie der Member aussehen soll.
-- bzw. wie er auf der Bühne dargestellt werden soll.

createVirtualSprite newText.Text, newText, newVSprite

-- usw
--end repeat
end deineFunktion

-- virtuelles Sprite erzeugen
on createVirtualSprite myItem, myMember, mySprite
-- sprite erzeugen
sprite(mySprite).type = 16 -- Sprite-Kanal Typ zuweisen, hier Textsprite
sprite(mySprite).member = myMember -- Sprite member zuweisen

-- sprite positionieren
sprite(mySprite).loc = point(50, 50) -- Sprite positionieren

-- alternativ kannst du auch hier die Eigenschaften des Members festlegen
-- z.B.: mit sprite(mySprite).member.font = "Arial"
end

Das ist stark verkürtzt. Den fehlenden Code mußt du natürlich ergänzen.

Und sonst:
Die virtuellen Sprites gelten immer für einen ganzen Sprite-Kanal.
Schau dir mal "scriptInstanceList" an wenn diese Sprites interaktiv sein sollen.

Überflüssige Objekte kannst du zur Laufzeit auch wieder löschen:
member(x).erase() -- member löschen
sprite(x).type = 0 -- sprite löschen

Das sollte als Einstieg zur Selbsthilfe genügen. Viel Erfolg.
mfg, Batam


als Antwort auf: [#217179]
(Dieser Beitrag wurde von Batam am 15. Mär 2006, 19:20 geändert)