<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.mafiasi.de/index.php?action=history&amp;feed=atom&amp;title=2011-01-11_GameMaker_AG-Protokoll</id>
	<title>2011-01-11 GameMaker AG-Protokoll - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mafiasi.de/index.php?action=history&amp;feed=atom&amp;title=2011-01-11_GameMaker_AG-Protokoll"/>
	<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=2011-01-11_GameMaker_AG-Protokoll&amp;action=history"/>
	<updated>2026-10-18T01:59:29Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Fachschaft Informatik</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=2011-01-11_GameMaker_AG-Protokoll&amp;diff=15428&amp;oldid=prev</id>
		<title>1steenfa: Bot: Kosmetische Änderungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=2011-01-11_GameMaker_AG-Protokoll&amp;diff=15428&amp;oldid=prev"/>
		<updated>2012-06-08T15:01:30Z</updated>

		<summary type="html">&lt;p&gt;Bot: Kosmetische Änderungen&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 8. Juni 2012, 15:01 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l46&quot;&gt;Zeile 46:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 46:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Das Bewegen in Blickrichtung der Kamera ließe sich jetzt aus den Scripts mit dem Ball und der drehenden Kamera ableiten. Fertig ist das 3rd-Person Game.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Das Bewegen in Blickrichtung der Kamera ließe sich jetzt aus den Scripts mit dem Ball und der drehenden Kamera ableiten. Fertig ist das 3rd-Person Game.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie: GameMaker AG-Protokolle]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Kategorie:GameMaker AG-Protokolle]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1steenfa</name></author>
	</entry>
	<entry>
		<id>https://wiki.mafiasi.de/index.php?title=2011-01-11_GameMaker_AG-Protokoll&amp;diff=11974&amp;oldid=prev</id>
		<title>SaschaGraeff: Die Seite wurde neu angelegt: Protokoll der GameMaker AG-Sitzung am 11.01.2011  Anwesende Personen: 5-6  Beginn: 13:05 Uhr  == Ablauf == &#039;&#039;&#039;Wir basteln mit dem CharacterController herum.&#039;&#039;&#039; * Der Ch...</title>
		<link rel="alternate" type="text/html" href="https://wiki.mafiasi.de/index.php?title=2011-01-11_GameMaker_AG-Protokoll&amp;diff=11974&amp;oldid=prev"/>
		<updated>2011-01-20T08:20:44Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: Protokoll der GameMaker AG-Sitzung am 11.01.2011  Anwesende Personen: 5-6  Beginn: 13:05 Uhr  == Ablauf == &amp;#039;&amp;#039;&amp;#039;Wir basteln mit dem CharacterController herum.&amp;#039;&amp;#039;&amp;#039; * Der Ch...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Protokoll der GameMaker AG-Sitzung am 11.01.2011&lt;br /&gt;
&lt;br /&gt;
Anwesende Personen: 5-6&lt;br /&gt;
&lt;br /&gt;
Beginn: 13:05 Uhr&lt;br /&gt;
&lt;br /&gt;
== Ablauf ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wir basteln mit dem CharacterController herum.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Der CharacterController ist für alle Arten von Humanoiden Figuren im Spiel gedacht, aber wer damit rumexperimentiert, wird feststellen, dass auch andere Anwendungen möglich sind.&lt;br /&gt;
* Die Komponente lässt ein Objekt &amp;#039;&amp;#039;nicht&amp;#039;&amp;#039; der Physikberechnung unterliegen, dennoch hat sie Kollisionsabfrage&lt;br /&gt;
* Wir merken uns unsere CharacterController-Komponente, um nicht in jedem Frame die zu meidende GetComponent()-Funktion zu benutzen:&lt;br /&gt;
 private var controller : CharacterController;&lt;br /&gt;
 function Awake()&lt;br /&gt;
 {&lt;br /&gt;
  controller = GetComponent(CharacterController);&lt;br /&gt;
 }&lt;br /&gt;
* Die Funktion für Bewegung mit Kollisionsabfrage ist:&lt;br /&gt;
 controller.Move();&lt;br /&gt;
* Wir benutzen einen auf Maximallänge 1 gekürzten Input-Vektor:&lt;br /&gt;
 var dir : Vector3 = Vector3(Input.GetAxis(&amp;quot;Horizontal&amp;quot;), 0, Input.GetAxis(Input.GetAxis(&amp;quot;Vertical&amp;quot;)));&lt;br /&gt;
 dir = dir.normalized * Mathf.Min(dir.magnitude, 1); //Maximallänge 1 gegen schnelleres schräg laufen&lt;br /&gt;
* Das multiplizieren wir jetzt noch mit einer Variable speed:&lt;br /&gt;
 dir *= speed;&lt;br /&gt;
* Da ein CharacterController nicht von alleine runter fällt, benötigen wir eine globale Variable zum speichern der aktuellen vertikalen Geschwindigkeit:&lt;br /&gt;
 private var ySpeed : float = 0;&lt;br /&gt;
* Diesen Wert benutzen wir als y-Wert von dir, aber erst nach der Auf-1-kürzung (rate mal wieso):&lt;br /&gt;
 dir.y = ySpeed;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Vorher&amp;#039;&amp;#039;&amp;#039; berechnen wir diesen Wert aber noch einmal neu:&lt;br /&gt;
 if(controller.isGrounded) //Standen wir im letzen Frame auf dem Boden? Der controller weiß es!&lt;br /&gt;
 {&lt;br /&gt;
  ySpeed = jumpSpeed;&lt;br /&gt;
 }&lt;br /&gt;
 else&lt;br /&gt;
 {&lt;br /&gt;
  ySpeed = Mathf.Max(ySpeed -= gravity, minYSpeed);&lt;br /&gt;
 }&lt;br /&gt;
* jumpSpeed, gravity und minYSpeed können durch Zahlenwerte ersetzt werden, sollten aber Variablen sein.&lt;br /&gt;
* Zuletzt wenden wir das ganze noch an:&lt;br /&gt;
 contoller.Move(dir * Time.deltaTime);&lt;br /&gt;
* Und das alles in Update() (nicht FixedUpdate(), da kein Rigidbody!)&lt;br /&gt;
&lt;br /&gt;
Ein bisschen Blender-modellierung am Schluss - nicht unbedingt inhaltlich nennenswert.&lt;br /&gt;
&lt;br /&gt;
== Ergebnis ==&lt;br /&gt;
* Wir können mit CharacterControllern Humanoide erstellen, die eine Kollisionsabfrage haben und runter fallen können.&lt;br /&gt;
* Das Bewegen in Blickrichtung der Kamera ließe sich jetzt aus den Scripts mit dem Ball und der drehenden Kamera ableiten. Fertig ist das 3rd-Person Game.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: GameMaker AG-Protokolle]]&lt;/div&gt;</summary>
		<author><name>SaschaGraeff</name></author>
	</entry>
</feed>