<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TOOLBOX INTERACTION DESIGN &#187; Typografie</title>
	<atom:link href="http://ifdblog.org/toolbox/?cat=49&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://ifdblog.org/toolbox</link>
	<description>Interactiondesign Toolbox der Fachhochschule Magdeburg-Stendal</description>
	<lastBuildDate>Mon, 02 Jul 2012 16:50:35 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Processing Workshop Teil 7 Strings und Textobjekt</title>
		<link>http://ifdblog.org/toolbox/?p=633</link>
		<comments>http://ifdblog.org/toolbox/?p=633#comments</comments>
		<pubDate>Tue, 22 Jun 2010 11:33:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OP/ Advanced Code]]></category>
		<category><![CDATA[PROCESSING]]></category>
		<category><![CDATA[Typografie]]></category>

		<guid isPermaLink="false">http://ifdblog.org/toolbox/?p=633</guid>
		<description><![CDATA[Schrift in Processing einbinden Schrift wird zusätzlich zur .pde Datei im Folder /data unserer Applikation zur Verfügung gestellt. Mit dem Processingeditor kann man das einfach über Tools -> Create Font und dem Fontnamen mit der Endung .vlw erstellen. Das Font selber ist ein Objekt vom Typ PFont. Der Text, der mit einem Fontobjekt dargestellt werden [...]]]></description>
			<content:encoded><![CDATA[<p>Schrift in Processing einbinden<br />
Schrift wird zusätzlich zur .pde Datei im Folder /data unserer Applikation zur Verfügung gestellt. Mit dem Processingeditor kann man das einfach über Tools -> Create Font und dem Fontnamen mit der Endung .vlw erstellen. Das Font selber ist ein Objekt vom Typ PFont. Der Text, der mit einem Fontobjekt dargestellt werden soll, ist eine String Variable.<br />
Bring me the Letter<br />
Wie lang dieser String ist und was drin steht ist unerheblich. Einfache Operationen wie zum Beispiel ein Zeilenumbruch lassen sich mit \n realisieren. Weiter liefert String auch bereits Methoden um z.B. die Position eines Zeichen in einem String zu ermitteln oder wiederzugeben charAt().<br />
Damit Buchstabe um Buchstabe manipulieren kann, ist im folgenden Beispiel der String in einen Array currentLetterObj[] abgelegt. Die Größe des Arrays beträgt genau so viel wie der String lang ist myString.length().</p>
<p>Mit text(myString,150,50); wird der komplette Text wiedergegeben.<br />
Buchstabe um Buchstabe wird hier jedoch mit dem Array currentLetterObj, der bei jedem Mausklick ein neues Buchstabenobjekt BringMeTheLetter erzeugt. In der Klasse BringMeTheLetter wird der Buchstaben erzeugt und in der drawLetter() Methode animiert. Mit der Stringfunktion charAt() und dem Zähler counter rückt der Zeiger immer um ein Zeichen weiter und arbeitet den kompletten String ab.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">&nbsp;
BringMeTheLetter<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> currentLetterObj<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003399;">String</span> myString <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;i am here&quot;</span><span style="color: #339933;">;</span>
PFont myFont<span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">int</span> counter <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">char</span> currentChar<span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">boolean</span> start <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">320</span>, <span style="color: #cc66cc;">240</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  frameRate<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  myFont <span style="color: #339933;">=</span> createFont<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ArnoPro-ItalicSubhead&quot;</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  textFont<span style="color: #009900;">&#40;</span>myFont<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  textAlign<span style="color: #009900;">&#40;</span>LEFT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  smooth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  currentLetterObj <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> BringMeTheLetter<span style="color: #009900;">&#91;</span>myString.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  text<span style="color: #009900;">&#40;</span>myString,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">120</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">float</span> w <span style="color: #339933;">=</span> textWidth<span style="color: #009900;">&#40;</span>currentChar<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,w<span style="color: #339933;">*</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>start<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> counter<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
      currentLetterObj<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">drawLetter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      currentLetterObj<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">falling</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span>  mouseClicked<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
  start <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
  currentChar <span style="color: #339933;">=</span> myString.<span style="color: #006633;">charAt</span><span style="color: #009900;">&#40;</span>counter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> posX <span style="color: #339933;">=</span> mouseX<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> posY <span style="color: #339933;">=</span> mouseY<span style="color: #339933;">;</span>
  currentLetterObj<span style="color: #009900;">&#91;</span>counter<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> BringMeTheLetter<span style="color: #009900;">&#40;</span>currentChar, posX, posY<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>counter <span style="color: #339933;">&gt;=</span> myString.<span style="color: #006633;">length</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    counter <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
    counter<span style="color: #339933;">++;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> BringMeTheLetter <span style="color: #009900;">&#123;</span>
  <span style="color: #000066; font-weight: bold;">char</span> myChar<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> x<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> y<span style="color: #339933;">;</span>
  <span style="color: #000066; font-weight: bold;">int</span> alpha<span style="color: #339933;">;</span>
&nbsp;
  BringMeTheLetter<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">char</span> _char,<span style="color: #000066; font-weight: bold;">int</span> _x, <span style="color: #000066; font-weight: bold;">int</span> _y<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    myChar <span style="color: #339933;">=</span> _char<span style="color: #339933;">;</span>
    x <span style="color: #339933;">=</span> _x<span style="color: #339933;">;</span>
    y <span style="color: #339933;">=</span> _y<span style="color: #339933;">;</span>
    alpha <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">void</span> drawLetter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    alpha<span style="color: #339933;">--;</span>
    fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,alpha<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    text<span style="color: #009900;">&#40;</span>myChar,x,y<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000066; font-weight: bold;">void</span> falling<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    y<span style="color: #339933;">++;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://ifdblog.org/toolbox/?feed=rss2&#038;p=633</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
