multi touch thingie

8Mrz/110

Content Creation

Nachdem unsere Software so weit fertig ist, wir aber noch nicht testen können, da wir im Moment keinen Zugang zum Entwickler-Account haben, befassen wir uns inzwischen mit der Recherche zu unserer Bachelor-Arbeit.

In dieser Arbeit soll es um Content-Creation auf mobilen Geräten gehen. Ausgehend vom Smartphone und Tablet Markt wollen wir einen Überblick über die aktuellen Plattformen geben, uns aber speziell iOS, Android und Windows Phone 7 und die dazugehörigen Geräte ansehen.

Da unsere Picani-App für iOS entwickelt wurde, gehen wir insbesondere auf das iPad ein und werden in kürze auch eine Liste mit Apps veröffentlichen, die wir getestet haben bzw. gerne Testen würden.

Um in dieses Thema etwas Struktur zu bekommen haben wir ein vorläufiges Inhaltsverzeichnis erstellt das einen groben Überblick über die Themengebiete geben soll. Hier der Link dazu.

veröffentlicht unter: Aktuell keine Kommentare
2Feb/110

Alle Funktionen implementiert

Nachdem wir nun auch den letzten Punkt abgehakt haben, können wir vermelden, dass nun alle geplanten Funktionen implementiert sind.

Dieser letzte Punkt betraf das Drehen jener Bilder, die durch Pins mit dem angefassten Bild verbunden sind. Hierzu wurde ähnlich wie beim Löschen eine Liste erstellt und die Drehung des angefassten Bildes mit dem gleichen Winkel an die restlichen Bilder weitergegeben.

Nun fängt also die finale Testphase an. Wir hoffen, dass mtt auch am iPad so brav läuft wie am Simulator und sehen einem baldigen Abschluss des Projekts entgegen.

veröffentlicht unter: Aktuell keine Kommentare
1Feb/110

Pins koennen nun geloescht werden

Nach einigen Problemen mit dieser Funktion haben wir es nun endlich geschafft.

Beim Löschen des Pins finden wir zuerst heraus welche Bilder bzw. Gruppen übrigbleiben. Handelt es sich um eine Gruppe wird diese mit den restlichen Pins neu erstellt. Bleibt ein einzelnes Bild übrig, wird es als Bild wieder dem Viewcontroller hinzugefügt.
Befindet sich der zu löschende Pin in einer Gruppe die einen Kreis bildet, bleibt die ursprüngliche Gruppe erhalten und es wird nur der Pin entfernt.

Ausserdem können wir nun das Drehen von Bilder innerhalb eines Kreises verhindern. Pinnt man also zwei Bilder mit zwei Pins zusammen, bilden diese einen Kreis und können somit nicht mehr gedreht werden.

Als nächstes befassen wir uns weiter mit der Drehung der Bilder. Bis dato können wir nur das Bild um den nächstgelegenen Pin drehen das wir tatsächlich anfassen. Nun geht es darum, dass sich alle anderen Bilder die an diesem Bild (ausser am Rotationpin) angehängt wurden auch mit drehen.

veröffentlicht unter: Aktuell keine Kommentare
11Jan/110

Jetzt gehts wieder los!

Leider war jetzt gezwungenermaßen eine größere Programmierpause angesetzt.
Nach den Feiertagen und einer heftigen Grippeinfektion die sich über längere Zeit gezogen hat, geht´s wieder weiter!! Nächster Punkt auf der Liste is das Löschen und neu Gruppieren von Pins, sowie alle dazugehörigen Sachen, wie Kreissuche etc....

veröffentlicht unter: Aktuell keine Kommentare
6Dez/100

Hilfe, Picani

Vorweg - die im letzten Artikel angesprochenen Bugs sind soweit beseitigt. Am Löschen der Pins arbeiten wir zur Zeit noch und die Rotation um einen Pin ist mittlerweile auch teilweise implementiert. An der Rotation selbst müssen aber noch ein paar Optimierungen vorgenommen werden, ausserdem geht's derweil nur mit zwei Bildern - daran arbeiten wir auch noch.

Inzwischen kann mtt jedoch mit einer Hilfe aufwarten, wie man an den folgenden Sreenshots sieht.

Ausserdem haben wir uns einen Namen für mtt überlegt: PICANI. Weitere Vorschlänge werden gerne angommen.

veröffentlicht unter: Aktuell keine Kommentare
19Nov/100

Bugfixing & Entfernen der Pins

Im Moment versuchen wir Bugs die beim Pinnen und bei Transformationen von Bildgruppen auftreten loszuwerden. Daher gibt es zur Zeit keine großen Neuerungen bei mtt. Wir sind aber zuversichtlich die Bugs bald beseitigt zu haben um uns auf die nächsten Aufgaben konzentrieren zu können.

Neben dem Bugfixing arbeiten wir auch am Löschen der Pins. Hier sind allerdings einige wichtige Überprüfungen notwendig um zu gewährleisten, dass die übergebliebenen Bilder bzw. Gruppen nach dem Entfernen eines Pins auch wieder korrekt dargestellt werden.

Sobald wir die Bugs los sind und Pins löschen können, melden wir uns wieder.

veröffentlicht unter: Aktuell keine Kommentare
27Okt/100

Rotation & Scaling

Nachdem die von Apple vorgegebene Rotation der Bilder nicht zufriedenstellend war, haben wir diese etwas verändert.

Nun werden die Bilder um den Mittelpunkt der beiden Touches (Finger) gedreht und skaliert.

Weiters ist es uns gelungen, den Fehler in unserer Alpha-Maske zu finden. Nun werden Touches auf den transparenten Teilen der Bilder bzw. Views tatsächlich ignoriert.

Das folgende Video zeigt diese Neuerungen, wobei die Gruppen-View noch immer färbig dargestellt wird.

This video was embedded using the YouTuber plugin by Roy Tanck. Adobe Flash Player is required to view the video.

svn checkout https://mtthingie.googlecode.com/svn/trunk/mtt

veröffentlicht unter: Aktuell keine Kommentare
20Okt/100

Hit-Testing und Resizing

Nachdem die Methode "sizeToFit()" anscheinend nicht funktioniert, haben wir eine Eigene geschrieben. Nun ist es uns möglich, die Größe der Gruppen-View auf die Größe der darin enthaltenen Subviews anzupassen.

Weiters ist es uns durch Hit-Testing gelungen, die Touches an den Stellen der Gruppen-View, an denen sich keine Subview befindet, an die nächste View in der Hierarchie weiter zu geben. Man kann jetzt also an freien Flächen unserer Gruppen-View auf eine darunter liegende View "durchtouchen".

Bei der Lösung dieser Probleme hat uns Georg Kaindl die entscheidenden Tipps gegeben, wofür wir uns nochmal bedanken möchten.

Im folgenden Video wird das Anpassen der Größe und das "Durchtouchen" mittels Hit-Testing gezeigt. Um die Gruppenview sehen zu können, ist diese nach wie vor eingefärbt (Das bleibt natürlich nicht so!).

This video was embedded using the YouTuber plugin by Roy Tanck. Adobe Flash Player is required to view the video.

svn checkout https://mtthingie.googlecode.com/svn/trunk/mtt

veröffentlicht unter: Aktuell keine Kommentare
15Okt/100

Problem beim Gruppieren der Bilder

Wir haben seit einiger Zeit beim Gruppieren der Einzelbilder ein Problem, für das wir derzeit keine Lösung sehen und um Hilfe bitten.

Nach dem zwei (oder mehrere) Bilder zusammen gepinnt werden, sollen die Einzelbilder (mttImage; Ableitung von UIImageView) in eine gemeinsame View kommen (mttImageGroup; Ableitung von UIView) um sie als Gruppe bewegen, vergrößern und rotieren zu können. Wir erstellen unsere Gruppen-View anfangs mit einem relativ großen Frame (1024x768; Bildschirmfüllend) und fügen unsere Einzelbilder als Subviews ein. Das funktioniert soweit auch ganz gut.

Nun ist es aber notwendig (da es ja mehrere solcher Gruppen geben kann) die Größe der Gruppen-View an die Größe der eingefügten Subviews (Einzelbilder) anzupassen. Die Dokumentation der UIView-Klasse bietet die Methode "sizeToFit()", welche genau das tun sollte. Leider tut sie das aber nicht, obwohl wir sie richtig einsetzen.

Als Alternative haben wir uns überlegt die die ursprüngliche Größe der Gruppen-View beizubehalten, und an den Punkten an denen keine Subview liegt, die Touches an (wenn vorhanden) eine darunter liegende View weiter zu geben. Es sollte zwar möglich sein, Touches zu ignorieren wenn an diesem Punkt keine Subview liegt. Wir haben jedoch keine Möglichkeit gefunden, Touches durch eine View durch zu lassen und an die nächste weiter zu geben.

Soweit der Stand der Dinge. Folgendes Video beschreibt unser Problem. (Der Hintergrund der Gruppen-View wurde eingefärbt, um sie erkennen zu können).

This video was embedded using the YouTuber plugin by Roy Tanck. Adobe Flash Player is required to view the video.

svn checkout https://mtthingie.googlecode.com/svn/trunk/mtt

veröffentlicht unter: Aktuell keine Kommentare
4Okt/100

Pinned Images!

Nach längerer Planung kann multi touch thingie nun zusammengepinnte Bilder verwalten. Hierzu speichern wir im Main-Controller eine Liste für jedes Bild. Für jede Bild-ID wird hier also eine Liste verwaltet, indem das Bild selbst zu finden ist, aber auch alle anderen Bilder, die zur gleichen Gruppe gehören.

veröffentlicht unter: Aktuell keine Kommentare