Aus dem MX-Magazin wird Visual-X

Das MX-Magazin dürfte den Macromedia Anwendern mittlerweile bekannt sein. Nach der √úbernahme von Macromedia durch Adobe erfährt das Magazin nun eine neue Ausrichtung:

Das neue Magazin erweitert sein Spektrum und beschäftigt sich ab sofort mit Design, Tools und Solutions für Crossmedia Production.

Na dann. Ich bin echt am √úberlegen, ob ich für die nicht einmal wieder etwas schreiben soll. Schließlich geht es in der kommenden Ausgabe um sog. „medienübergreifendes Publizieren“ – und was wäre da besser als Director? ;-)

TABs in Text: Valentin Schmidts PDF class 2.4 for Director

Most of you working with Director should know the PDF Class of Valentin Schmidt very well. It’s a set of parent scripts generating PDF files on the fly within Director. It’s very cool, because IMHO it outnumbers Impressario in some ways. And it is open source.

One of the mostly used features:
It’s able to generate a PDF file while maintaining the look of your formatted Textmembers with the AddMember() functionality. Unfortunately only TABs at the beginning of one line are interpreted. Every TAB in the same line after the first word is rendered as a space character.

Here is an unofficial patch that fixes the problem. Valentin is informed about it and will insert it in the official release in the future. His solution looks a little bit different, but it’s the same speaking of „functionality“.

1) Open up the script „PDF_TEXTMEMBER“ in the cast named „pdf“
2) Scroll to line 166 (str = chunk.txt) and delete the following:

if str<>„“ then
me.Write(me.pFontSizePt * 1.4, str, chunk.hl)
end if

3) After str = chunk.txt paste the following:

myCount = 1
repeat with x = 1 to str.char.count
— Create Substring of str
substr = str.char[myCount..x]
–check for TAB
if str.char[x] = TAB then
delete char x of substr
myCount = x
— Correct X-Value
me.SetX(x0 + tTextMem.charPosToLoc(lm[1]+x)[1])
if substr<>„“ then
me.Write(me.pFontSizePt * 1.4, substr, chunk.hl)
end if
else
if substr<>„“ then
me.Write(me.pFontSizePt * 1.4, substr, chunk.hl)
end if
end if
myCount = myCount+1
end repeat

4) You are done.

This few lines are searching for TABs in the parsed string and are calculating the right new position within the PDF.

Aufbewahrung von Lingoskripten

Gestern ist ein neuer, kleiner IKEA-Katalog eingetrudelt. IKEA ist fantastisch! Wenn Ihr Euch schon immer gefragt habt, wo Ihr Eure externen Lingoskripte für Director aufbewahren sollt, investiert die EUR 2,50, es lohnt sich bestimmt, denn in den beiden Kästen werdet Ihr viele tausend Zeilen unterbringen können! :-)

Lingobox

Shockwave/Director auf Intel Macs

Zur Zeit funktioniert Shockwave auf dem Mac nicht richtig, wenn Safari nativ unter dem Intel-Prozessor läuft. Abhilfe schafft hier nur, Safari in den sog. Rosetta-Mode umzuschalten. Das kann man über den Info-Dialog im Finder vornehmen.

Interessant scheint auch die Strategie, bei der PlugIn-Erkennung über JavaScript den Useragent zu ermitteln. So meldet sich Safari ohne Rosetta folgendermaßen:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/417.9 (KHTML, like Gecko) Safari/417.8

Mit Rosetta wiederum meldet er sich so:

Mozilla/5.0 (Macintosh; U; Mac OS X; en) AppleWebKit/417.9 (KHTML, like Gecko) Safari/417.8

D.h. man kann das „Intel Mac OS X“ auslesen und dem User zeigen, wie er Safari umzustellen hat, damit Shockwave auf seinem Intel-Mac funktioniert.

Letztendlich ist das natürlich wie so häufig wieder Flickwerk. Bleibt die Hoffnung, dass Adobe die Umstellung möglichst bald vornimmt! Solange keine Universal-Binaries verfügbar sind, wird man um obige Schritte aber nicht drumherum kommen. Zumindest meldete sich Thomas Higgins oraklehaft in einer Mail zu Wort:

„But all in all as of today we’re looking out there in the future and discussing a MacIntel native Director around these parts so take that for what you will.“

Fingerübung: tile-based game engine V0.1

Ach, immer diese Ego-Shooter…
Habe heute endlich mal Zeit, den Prototyp meiner tile-based game engine hier online zu stellen. „tile-based“ nennt man die Spiele, die aus festen, wiederkehrenden Elementen den Level aufbauen. Die hier gezeigte engine benutzt eine 2D-Matrix, die textcodiert ist, für den Aufbau der 3D-Welt. Das ganze ist in Director, bzw. Shockwave 3D erstellt, d.h. Ihr benötigt das Shockwave-PlugIn zur Darstellung der ganzen Geschichte. Optimal ist das alles noch nicht: so könnt Ihr Euch noch nicht der rumlaufenden Monster erwehren, andererseits können die, trotz austretendem Feuer, Euch auch nichts anhaben. Die Steuerung ist IMHO auch noch zu weich.
Das ganze ist eine Fingerübung, die ich, wenn mehr Zeit ist, noch stark verfeinern werde. Zumindest funktioniert die Kollisionserkennung schon ganz passabel. ;-)

UPDATE: Die Version, die jetzt online ist, beschränkt die FPS auf 30 Bilder pro Sek.

The Labyrinth V0.1

UPDATE 2: Zur Zeit fehlt die Shockwave-Datei hier, ich reiche Sie nach. Liegt am noch nicht ganz fertigen Serverumzug.