Start
Willkommen
- Details
- Geschrieben von Super User
- Zugriffe: 6686
Willkommen auf der BeSly, der Haiku Wissensbasis.
Diese Seite wurde erstellt, um anderen Benutzern und Entwicklern zu helfen. Was zu Beginn, im August 2004, mit ausschließlich deutschsprachigen Übersetzungen und kleinen Anleitungen begonnen hat, ist heute eine umfangreiche, informative, mehrsprachige Wissensbasis. Sie enthält diverse Hilfestellungen zur Installation, Programmbeschreibungen, Programmierung und Systemeinstellungen.
Dabei wurde immer viel Wert auf die einfach zu verstehenden Aufbau und Beschreibung der Anleitungen geachtet. Im Laufe der Jahre sind auch viele Ideen der Benutzer mit eingeflossen, wie z.B. die Angabe, für welches System die jeweilige Anleitung gedacht ist.
Die Menüstruktur ist so aufgebaut, dass alle Anleitungen nach deren Programmzugehörigkeit sortiert angezeigt werden. Außerdem kann man die Suchfunktion nutzen um Anleitungen zu finden.
Es gibt auch eine kleine Software, die das Suchen von BeSly Anleitungen ermöglicht. Hier werden, wie auf der Webseite, alle Programme der Programmzugehörigkeit, aber auch nach Systemart, Sprache oder Autoren angezeigt. Dabei werden auch die kleinsten Anleitungen mit einbezogen, die man sonst nur in "Tipps und Tricks" Auflistungen findet.
Durch die Ähnlichkeit zwischen den Systemen, die alle auf der gleichen Grundlage oder dessen Nachbau sind, sind viele Anleitungen auf mehreren Systemen anwendbar.
Wer diesem Projekt helfen möchte, kann dies gerne in Form von eigenen Anleitungen, Beschreibungen oder Übersetzungen machen. Auch Ideen oder Kritik sind willkommen.
Durch den Relaunch der BeSly ist es jetzt möglich, dass die User die Anleitungen selbst im Webinterface schreiben. Auch das Hochladen von Bildern sollte kein Problem. Einzige Bedingung ist das Anmelden auf der BeSly. Eure Daten werden von uns nicht weitergeben.
Wie kann man einen Mauszeiger in C/C++ anpassen?
- Details
- Geschrieben von Super User
- Zugriffe: 664
Der Mauszeiger besteht in Haiku aus einen Datensatz. Diesen kann man entsprechend in seinem eigenen Programm anpassen. Die Mauszeiger in Haiku sind 16px * 16px groß. Andere größen funktionieren derzeit nicht.
Wir haben ein kleines Tool geschrieben, um diesen Datensatz zu generieren. Das Tool können Sie bald auf software.besly.de oder im Haiku Depot (bitte denken Sie daran, unser Repo hinzuzufügen, sofern es nicht schon vorhanden ist) herunterladen.
Gespeichert wird der Datensatz wie folgt:
const uint8 FACE[] = { 16,1,7,7, 63, 252, 64, 2, 128,1, 152, 25, 172, 45, 173, 173, 165, 165, 153, 153, 129, 129, 131, 193, 176, 13, 175,245, 160, 5, 159, 249, 64, 2, 63, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; |
Die erste Zahl nach der geschweiften Klammer gibt die Größe des Zeigers an, gefolgt von der Farbtiefe (derzeit funktioniert nur Monochrome und somit ist eine 1 zu setzen. Danach folgt die Definition des Klickpunktes des Mauszeigers. Das heißt, wo in der Grafik des Mauszeigers der ausfühbare Punkt liegt.
Das Koordinatensystem beginnt oben links mit 0,0. Die Y-Koordinate wird von der ersten Zahl beschrieben, dann folgt die X-Koordinate. In unserer Grafik haben wir den Hotspot anders Farbig markiert.
0,0 | 0,1 | 0,2 | 0,3 | 0,4 | 0,5 | 0,6 | 0,7 | 0,8 | 0,9 | 0,10 | 0,11 | 0,12 | 0,13 | 0,14 | 0,15 |
0,1 | 1,1 | 2,1 | 3,1 | 4,1 | 5,1 | 6,1 | 7,1 | 8,1 | 9,1 | 10,1 | 11,1 | 12,1 | 13,1 | 14,1 | 15,1 |
0,2 | 1,2 | 2,2 | 3,2 | 4,2 | 5,2 | 6,2 | 7,2 | 8,2 | 9,2 | 10,2 | 11,2 | 12,2 | 13,2 | 14,2 | 15,2 |
0,3 | 1,3 | 2,3 | 3,3 | 4,3 | 5,3 | 6,3 | 7,3 | 8,3 | 9,3 | 10,3 | 11,3 | 12,3 | 13,3 | 14,3 | 15,3 |
0,4 | 1,4 | 2,4 | 3,4 | 4,4 | 5,4 | 6,4 | 7,4 | 8,4 | 9,4 | 10,4 | 11,4 | 12,4 | 13,4 | 14,4 | 15,4 |
0,5 | 1,5 | 2,5 | 3,5 | 4,5 | 5,5 | 6,5 | 7,5 | 8,5 | 9,5 | 10,5 | 11,5 | 12,5 | 13,5 | 14,5 | 15,5 |
0,6 | 1,6 | 2,6 | 3,6 | 4,6 | 5,6 | 6,6 | 7,6 | 8,6 | 9,6 | 10,6 | 11,6 | 12,6 | 13,6 | 14,6 | 15,6 |
0,7 | 1,7 | 2,7 | 3,7 | 4,7 | 5,7 | 6,7 | 7,7 | 8,7 | 9,7 | 10,7 | 11,7 | 12,7 | 13,7 | 14,7 | 15,7 |
0,8 | 1,8 | 2,8 | 3,8 | 4,8 | 5,8 | 6,8 | 7,8 | 8,8 | 9,8 | 10,8 | 11,8 | 12,8 | 13,8 | 14,8 | 15,8 |
0,9 | 1,9 | 2,9 | 3,9 | 4,9 | 5,9 | 6,9 | 7,9 | 8,9 | 9,9 | 10,9 | 11,9 | 12,9 | 13,9 | 14,9 | 15,9 |
0,10 | 1,10 | 2,10 | 3,10 | 4,10 | 5,10 | 6,10 | 7,10 | 8,10 | 9,10 | 10,10 | 11,10 | 12,10 | 13,10 | 14,10 | 15,10 |
0,11 | 1,11 | 2,11 | 3,11 | 4,11 | 5,11 | 6,11 | 7,11 | 8,11 | 9,11 | 10,11 | 11,11 | 12,11 | 13,11 | 14,11 | 15,11 |
0,12 | 1,12 | 2,12 | 3,12 | 4,12 | 5,12 | 6,12 | 7,12 | 8,12 | 9,12 | 10,12 | 11,12 | 12,12 | 13,12 | 14,12 | 15,12 |
0,13 | 1,13 | 2,13 | 3,13 | 4,13 | 5,13 | 6,13 | 7,13 | 8,13 | 9,13 | 10,13 | 11,13 | 12,13 | 13,13 | 14,13 | 15,13 |
0,14 | 1,14 | 2,14 | 3,14 | 4,14 | 5,14 | 6,14 | 7,14 | 8,14 | 9,14 | 10,14 | 11,14 | 12,14 | 13,14 | 14,14 | 15,14 |
0,15 | 1,15 | 2,15 | 3,15 | 4,15 | 5,15 | 6,15 | 7,15 | 8,15 | 9,15 | 10,15 | 11,15 | 12,15 | 13,15 | 14,15 | 15,15 |
Der erste lange Zahlenblock beschreibt die schwarz, der zweite lange Zahlenblock beschreibt die weiß, gesetzten Pixel.
Der beiden langen Zahlenblöcke werden von links nach rechts und von oben nach unten geschrieben. Transparenz funktioniert nur bei den weißen Pixeln, schwarze Pixel sind immer deckend.
Hier finden Sie ein Beispiel für ein Fadenkreuz mit weißen Hintergrund.
Ergebnis für | BYTE | BYTE | Ergebnis für | ||||||||||||||||||||
BYTE | Weiße Pixel | Schwarze Pixel | Weiße Pixel | Schwarze Pixel | BYTE | ||||||||||||||||||
0 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 1 | ||
2 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 3 | ||
4 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 5 | ||
6 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 7 | ||
8 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 9 | ||
10 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 11 | ||
12 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 13 | ||
14 | 0 | 255 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 0 | 255 | 15 | ||
16 | 0 | 255 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 0 | 255 | 17 | ||
18 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 19 | ||
20 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 21 | ||
22 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 23 | ||
24 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 25 | ||
26 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 27 | ||
28 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 29 | ||
30 | 254 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 127 | 128 | 31 |
Das obige Bespiel als Code, die schwarzen Pixel haben wir in der Tabelle gelb dargestellt, damit man die Zahlen lesen kann.
const uint8 FACE[] = { 16,1,7,7, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 255, 255, 255, 255, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 254, 127, 254, 127, 254, 127, 254, 127, 254, 127, 254, 127, 254, 127, 0, 0, 0, 0, 254, 127, 254, 127, 254, 127, 254, 127, 254, 127, 254, 127, 254, 127}; |
- Translation: No
Alex the Allegator 4 (Alex 4) - Alex4Customs
- Details
- Geschrieben von Christian Albrecht
- Zugriffe: 3631
Alex4Customs ist eine Benutzeroberfläche zum verwenden und manipulieren von Custom Level-Sets für Alex the Allegator 4.
Wie das Projekt entstand
Mein Sohn kann sich sehr begeistern für das Jump and Run Spiel Alex4. Nachdem er herausgefunden hat, dass man auch eigene Levels erstellen kann war er gleich Feuer und Flamme.
Mein Problem bestand darin, auf Grund nicht vorhandener Dokumentation für Haiku, zu wissen wie man den Editor bedient (Tastenbelegung, Mouse-Steuerung) und wie man letztendlich einen selbsterstellten Level ausführt. Zum Glück gab es entsprechende Anleitungen im Internet, wenn auch für andere Systeme aber dennoch zutreffend.
Da mein Sohn noch nicht lesen und schreiben kann brauchte ich eine Möglichkeit für Ihn diese zu spielen. Eine Eingabe im Terminal konnte ich von Ihm nicht erwarten, also musste eine GUI her. Hier konnte mir yab (yet another basic) gute Dienste erweisen.
Nachdem ich diverse frei verfügbare Level-Sets im Internet gefunden habe, sind auch diese gleich mit eingeflossen.
Installation
Ihr bekommt Alex4Customs von unseren Repository Server:
Hier könnt Ihr das Paket direkt herunterladen oder unseren Repository Server zu HaikuDepot hinzufügen und dann darüber installieren.
Source: pkgman add-repo http://software.besly.de/repo
Bedienung
Die Bedienung von Alex4Customs ist denkbar einfach. Auf der linken Seite befindet sich eine Auflistung der enthaltenen Level-Sets. Wählt man eine der Level-Sets aus, werden diesbezügliche Informationen auf der rechten Seite angezeigt.
Dies sind eine (wenn enthalten) Beschreibung des Level-Sets , die Liste der enthaltenen Maps und ein Bildschirmfoto des ersten Levels.
Drückt man nun auf Start, wird das Level-Set gestartet.
Im Spiel kann man jetzt sehen das Du eine Custom Map gestartet hast.
Da man bei den Custom Maps, wie bei dem originalen Level, keine bereits geschafften Level im Menü auswählen kann, kann man auch diese gezielt in Alex4Customs auswählen.
Möchtest du in einen anderen Level des Level-Sets in das Spiel einsteigen, wähle den entsprechenden Level in der Map-Auflistung aus und drücke auf Start.
Einzelnen Level starten
Arbeiten man mit dem Editor und möchte seine erstellten Levels testen, war es sinnvoll auch für das Ausführen einzelner Level eine Möglichkeit zu schaffen.
Um dies zu tun, wähle im App-Menü Start single map…
Wähle im System die entsprechende Map und drücke auf öffnen.
Aktualisieren der Level-Sets
Alex4Customs hat eine Update-Funktion über die du weitere Level-Sets von unserem Server beziehen kannst. Dadurch ist es nicht notwendig ständig neue Versionen der GUI herauszugeben nur um neue Level-Sets hinzuzufügen.
Gehe dazu im App-Menü auf Check for updates, damit das Programm prüft ob eine neuere Version der Level-Sets verfügbar ist. Ist eine neuere Version verfügbar bekommt man eine diesbezügliche Information. Führt man diese aus, wird das Update aus dem Internet gezogen und installiert. Danach wird die Liste der Level-Sets aktualisiert und Du kannst diese ausführen.
Eigene Level-Sets erstellen
Um eine neue Zusammenstellung von Levels zu erstellen (z.B. die eigenen) gehe im App-Menü auf Create new map set.
Hier gebe im oberen Eingabefeld den Namen des Level-Sets an. Dies muss zwingend ein Name ohne Leerzeichen sein.
Dann gebe im Editorfeld darunter eine kurze Beschreibung über das Level-Set an.
Danach schiebe deine Map-Dateien auf die Dropzone, diese befindet sich unten Rechts.
Das Gleiche kannst Du mit einem Bildschirmfoto von deinem ersten Level machen.
Danach drücke auf Create um deinen Level-Set zu erstellen.
Danach wird dein Level-Set in der Liste der Custom Maps angezeigt.
Info: Alex4Custom ist noch in einer sehr frühen Version. Es werden sicherlich noch Änderungen und Verbesserungen folgen, die eine Bedienung erleichtern, oder besser erklären.
Probleme beim Beenden von Alex4
Da Alex4 nur selten richtig beendet wird, wenn man das Spiel verlässt und dieses Alex4Customs dann komplett blockiert, habe ich ein extra Fenster erstellt mit einer Schaltfläche um das laufende Alex4 zu beenden.
Sollte also Alex4 auch nach dessen Beendigung immer noch in der Tastleiste angezeigt werden, drücke auf die Schaltfläche mit dem Stop Alex Symbol.
Du kannst natürlich auch die klassische Variante nutzen indem Du den Taskmanager öffnest (Strg + Alt +Entfernen) und dort Alex auswählen und auf Beenden erzwingen gehen.
Momentan muss das Zusatzfenster einzeln beendet werden und wird nicht zusammen mit Alex4Custom geschlossen. Um dies zu tun gehen neben die Schaltfläche und drücke die rechte Mouse-Taste. Es erscheint ein Pop-Up Menü mit dem Quit Eintrag.
Anleitung erstellt durch Christian Albrecht (Lelldorin) Februar 2019
Bereitgestellt durch BeSly, der Haiku Wissensbasis.
- Translation: Yes