Asscalc Variablen: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „-----------------------------------------Zeit------VARIABLE------------------------------------------------ ''Info:'' Zeit Variablen betreffen die Silben und Lin…“) |
|||
Zeile 1: | Zeile 1: | ||
− | -----------------------------------------Zeit | + | ----------------------------------------- |
+ | '''Zeit VARIABLE''' | ||
+ | ----------------------------------------- | ||
+ | |||
+ | |||
''Info:'' Zeit Variablen betreffen die Silben und Linezeiten und geben diese als Ganzzahl zurück. Mit ihnen kann auch gerechnet werden, aber man sollte immer bedenken, dass 1 = 1000ms ist und man bei time of wtstart-1 mal eben 1000,s früher mit der Line anfängt als geplant. | ''Info:'' Zeit Variablen betreffen die Silben und Linezeiten und geben diese als Ganzzahl zurück. Mit ihnen kann auch gerechnet werden, aber man sollte immer bedenken, dass 1 = 1000ms ist und man bei time of wtstart-1 mal eben 1000,s früher mit der Line anfängt als geplant. | ||
Zeile 45: | Zeile 49: | ||
− | -----------------------------------------TEXTIDENT | + | ----------------------------------------- |
+ | '''TEXTIDENT VARIABLE''' | ||
+ | ----------------------------------------- | ||
+ | |||
+ | |||
'''''bfirstone''''' | '''''bfirstone''''' | ||
Zeile 110: | Zeile 118: | ||
− | ----------------------------------------- | + | ----------------------------------------- |
+ | '''Zufalls VARIABLE''' | ||
+ | ----------------------------------------- | ||
+ | |||
+ | |||
'''''rand''''' | '''''rand''''' | ||
Zeile 129: | Zeile 141: | ||
− | -----------------------------------------SIZING | + | ----------------------------------------- |
+ | '''SIZING VARIABLE''' | ||
+ | ----------------------------------------- | ||
+ | |||
+ | |||
''Info:'' Sizing Operationen müssen in ASSCalc immer wieder ausgeführt werden. Das bedeutet, je mehr ihr diese einsetzt, umso länger dauert die Berechnung der out.ass. Dies kann aber leicht umgangen werden, indem ihr in der pX.txt die Variablen in Ersatzvariablen umspeichert für den aktuellen P-Layer Durchlauf und sie somit nur einmal pro Zeichen/Silbe berechnet werden müssen. Als Beispiel, in einem Pixelscript in dem nur eine Sizingvariable pro Pixel verwendet wird, dauert die Berechnung statt 2 Minuten plötzlich 30 Minuten. | ''Info:'' Sizing Operationen müssen in ASSCalc immer wieder ausgeführt werden. Das bedeutet, je mehr ihr diese einsetzt, umso länger dauert die Berechnung der out.ass. Dies kann aber leicht umgangen werden, indem ihr in der pX.txt die Variablen in Ersatzvariablen umspeichert für den aktuellen P-Layer Durchlauf und sie somit nur einmal pro Zeichen/Silbe berechnet werden müssen. Als Beispiel, in einem Pixelscript in dem nur eine Sizingvariable pro Pixel verwendet wird, dauert die Berechnung statt 2 Minuten plötzlich 30 Minuten. | ||
Zeile 166: | Zeile 182: | ||
− | '''LINKSBÜNDIG:''' | + | - '''LINKSBÜNDIG:''' |
curx = ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2, da jede Silbe in sich mittig positioniert ist ) | curx = ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2, da jede Silbe in sich mittig positioniert ist ) | ||
Zeile 175: | Zeile 191: | ||
− | '''MITTIG:''' | + | - '''MITTIG:''' |
curx = ( Bildbreite / 2, da dort die Linemitte sein soll ) - ( Linebreite / 2, da wir von der Mitte ausgehen ) + ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2 ) | curx = ( Bildbreite / 2, da dort die Linemitte sein soll ) - ( Linebreite / 2, da wir von der Mitte ausgehen ) + ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2 ) | ||
Zeile 184: | Zeile 200: | ||
− | '''RECHTSBÜNDIG:''' | + | - '''RECHTSBÜNDIG:''' |
curx = ( Bildbreite ) - ( Linebreite ) + ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2 ) | curx = ( Bildbreite ) - ( Linebreite ) + ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2 ) | ||
Zeile 201: | Zeile 217: | ||
− | '''UNTEREINANDER:''' | + | - '''UNTEREINANDER:''' |
cury=(nysizthisone*0.5)+savecury | cury=(nysizthisone*0.5)+savecury | ||
Zeile 209: | Zeile 225: | ||
− | '''BASICSCRIPT:''' | + | - '''BASICSCRIPT:''' |
''für Anwendung mit Variablen übergabe aus Script oder VAR'' | ''für Anwendung mit Variablen übergabe aus Script oder VAR'' | ||
Zeile 239: | Zeile 255: | ||
cury=40 | cury=40 | ||
− | ----------------------------------------- | + | ----------------------------------------- |
+ | '''Zeit VARIABLE''' | ||
+ | ----------------------------------------- | ||
+ | |||
+ | |||
+ | Hier einfach Zeug eintragen, welches in eine "standard_vars.txt" gehören könnte. |
Version vom 24. Januar 2012, 01:40 Uhr
Zeit VARIABLE
Info: Zeit Variablen betreffen die Silben und Linezeiten und geben diese als Ganzzahl zurück. Mit ihnen kann auch gerechnet werden, aber man sollte immer bedenken, dass 1 = 1000ms ist und man bei time of wtstart-1 mal eben 1000,s früher mit der Line anfängt als geplant.
ntstart
Gibt den Startwert der nächste Silbe/Zeichen als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
ntend
Gibt den Endwert der nächste Silbe/Zeichen als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
tstart
Gibt den Startwert der aktuellen Silbe/Zeichen als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
tend
Gibt den Endwert der aktuellen Silbe/Zeichen als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
ltstart
Gibt den Startwert der vorherigen Silbe/Zeichen als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
ltend
Gibt den Endwert der vorherigen Silbe/Zeichen als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
wtstart
Gibt den Startwert der aktuellen Line als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
wtend
Gibt den Endwert der aktuellen Line als Ganzzahl zurück. Ausgangspunkt 0 (0:0:0.0)
TEXTIDENT VARIABLE
bfirstone
Ist ein boolscher Wert. Gibt TRUE / 1 zurück, wenn die aktuelle Silbe/Zeichen zum ersten {\k} im Script gehört, ansonsten FALSE / 0.
blastone
Ist ein boolscher Wert. Gibt TRUE / 1 zurück, wenn die aktuelle Silbe/Zeichen zum letzten {\k} im Script gehört, ansonsten FALSE / 0.
bsylf
Ist ein boolscher Wert. Gibt TRUE / 1 zurück, wenn das aktuelle Zeichen zum letzten {\k} eines Wortes gehört, ansonsten FALSE / 0. Nur interessant für den FLAG Charwise, behindert aber auch nicht im Skipspace.
nafterlastspace = ? gibt wert aus und mal 0 ?
Zählt wie viele Zeichen oder Silben seit dem letzten Leerzeichen durchlaufen wurden. Zähler beginnt bei 0.
nthword
Gibt die Anzahl der vorhandenen Wörter, gezählt anhand der Leerzeichen als Ganzzahl zurück. Zähler beginnt bei 0.
nth
Zählt wie viele {\k} schon durchlaufen wurden. Kann auch als SilbenID betrachtet werden pro Line. Zähler beginnt bei 0.
Bei einem Lowkill vergleich zwischen nth und nthall muss der Lowkill so aussehn, wenn er noch für die letzte Silbe ausgeführt werden soll: LOWKILL(nth+1 , nthall-0.1)
nthall
Anzahl der vorhandenen {\k} in der aktuellen Line als Ganzzahl.
nchr
Zählt wie viele Zeichen schon durchlaufen wurden. Kann auch als ZeichenID betrachtet werden pro Line. Zähler beginnt bei 0.
nchrall
Anzahl der Zeichen der aktuellen Line als Ganzzahl.
bwordf
Ist ein boolscher Wert. Gibt TRUE / 1 zurück, wenn die aktuelle Silbe/Zeichen zum ersten {\k} eines Wortes gehört, ansonsten FALSE / 0.
bwordl
Ist ein boolscher Wert. Gibt TRUE / 1 zurück, wenn die aktuelle Silbe/Zeichen zum letzten {\k} eines Wortes gehört, ansonsten FALSE / 0.
nthword
Gibt die Anzahl der Wörter der aktuellen Line zurück.
Zufalls VARIABLE
rand
Bildet eine Zufallsnummer zwischen 0 und 1.
Beispiel:
pos of rand*10 => 0 bis 9
pos of rand*10-5 => -5 bis 4
pos of rand*10+15 => 15 bis 24
pos of rand*10-25 => -25 bis -14
SIZING VARIABLE
Info: Sizing Operationen müssen in ASSCalc immer wieder ausgeführt werden. Das bedeutet, je mehr ihr diese einsetzt, umso länger dauert die Berechnung der out.ass. Dies kann aber leicht umgangen werden, indem ihr in der pX.txt die Variablen in Ersatzvariablen umspeichert für den aktuellen P-Layer Durchlauf und sie somit nur einmal pro Zeichen/Silbe berechnet werden müssen. Als Beispiel, in einem Pixelscript in dem nur eine Sizingvariable pro Pixel verwendet wird, dauert die Berechnung statt 2 Minuten plötzlich 30 Minuten.
nsiz
Gibt die Breite alle Zeichen/Silben bis zum aktuellen Zeichen/Silben in Pixeln zurück.
lnsiz = width of all kara/char before the last one in current line in pixel
Gibt die Breite alle Zeichen/Silben bis zum letzten Zeichen/Silben des aktuellen Durchlaufs in Pixeln zurück.
nsizthisone = width of current kara/char in pixels
Gibt die Breite des aktuellen Zeichens/Silbe in Pixeln zurück.
nysizthisone = height of current kara/char in pixels
Gibt die Höhe des aktuellen Zeichens/Silbe in Pixeln zurück.
nsizall
Gibt die Breite der gesamten Line in Pixeln zurück.
Wichtig: - nsizall benötigt ein PRE Rendering ab dem Moment wo es in einem nachfolgenden Layer benutzt wird. Das bedeutet es muss ein leerer P-Layer mit dem gleichen Stylelock vor dem aktuellen vorhanden sein, welcher nur kurz ausgeführt wird. Dies gilt nur für den Fall, wenn man vom Standard abweicht und den p0 Layer nicht nur zum einfügen den Trans verwendet wird. Sollte also nur von p0 und p1 Layer gebraucht gemacht werden und im p0 Layer kein nsizall benutzt wird, braucht man dies nicht zu tun. Sollte man dann aber noch einen p2 Layer brauchen, muss man diesen als leeren Layer anlegen nur mit Stylelock, fontmatch und set flag in p2h.txt und stylelock in p2.txt und dann mit dem gleichen stylelock im p3 Layer arbeiten und das Sizingproblem hat sich erledigt.
curx
Ist eine Tentacle Eigenkreation, welche die aktuelle X Position berechnet. Sie exisitiert nicht und muss selber angelegt werden für jeden P Layer. Da sich der Name eingebürgert hat bei allen Calc Usern, steht er nun in der Wiki. Errechnet wird sie wie folgt:
- LINKSBÜNDIG:
curx = ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2, da jede Silbe in sich mittig positioniert ist )
curx = nsiz + (nsizthisone*0.5)
curx = nsiz + (nsizthisone/0.5)
- MITTIG:
curx = ( Bildbreite / 2, da dort die Linemitte sein soll ) - ( Linebreite / 2, da wir von der Mitte ausgehen ) + ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2 )
curx = 640-(nsizall*0.5)+nsiz+(nsizthisone*0.5)
curx = 640-(nsizall/0.5)+nsiz+(nsizthisone/0.5)
- RECHTSBÜNDIG:
curx = ( Bildbreite ) - ( Linebreite ) + ( Silbenbreite bis zur aktuellen Silbe ) + ( aktuelle Silbenbreite / 2 )
curx = 1280-nsizall+nsiz+(nsizthisone*0.5)
curx = 1280-nsizall+nsiz+(nsizthisone/0.5)
cury
Ist eine Tentacle Eigenkreation, welche die aktuelle Y Position berechnet. Sie exisitiert nicht und muss selber angelegt werden für jeden P Layer. Da sich der Name eingebürgert hat bei allen Calc Usern, steht er nun in der Wiki. Errechnet wird sie wie folgt:
cury=20
- UNTEREINANDER:
cury=(nysizthisone*0.5)+savecury savecury=savecury+nysizthisone
Info: - Es gibt leider kein nysizall und nysiz in ASSCalc. Sollte man diese benötigen einfach schonmal nysizthisone im PRE Render Layer abspeichern. Das hat keinen Einfluß auf die spätere nsizall Berechnung.
- BASICSCRIPT:
für Anwendung mit Variablen übergabe aus Script oder VAR
0 = Mitte ; 1 = Linksbündig ; 2 = Rechtsbündig
ersatzone=nsizall
ersatztwo=nsiz
ersatzthree=nsizthisone
ersatzfour=nysizthisone
bildb=1280
stretchfak=1
seitenabstand=3
posfind[0]=((ersatztwo+(ersatzthree*0.5))*stretchfak)+((bildb/100)*seitenabstand)
posfind[1]=((bildb/2)+((0-(ersatzone*0.5))+ersatztwo+(ersatzthree*0.5)))*stretchfak
posfind[2]=((bildb-ersatzone+ersatztwo+(ersatzthree*0.5))*stretchfak)-((bildb*stretchfak)-bildb)-((bildb/100)*seitenabstand)
curx=posfind[poskara]
cury=40
Zeit VARIABLE
Hier einfach Zeug eintragen, welches in eine "standard_vars.txt" gehören könnte.