Workaround: Das Spiel mit den Hintergründen

Zu Zeiten kann es vorkommen, dass man den Hintergrund eines Channels gerne dynamisch ändern möchte. Leider gibt es hierzu keine Möglichkeit mit der API. Oder etwa doch?

Nun gut, es gibt zwar keine Möglichkeit mit der API, aber mit etwas KCode ist das Ändern des Hintergrunds bereits möglich, wenn auch nur für das Applet.

 

Szenario

Du kommst in einen Channel in dem im Hintergrund ein schickes Bild ist, das die Befehle für die im Channel befindliche App enthält. Doch bei Eingabe dieser Befehle sagt dir James das diese nicht existieren. Was ist da los? Dias kann unterschiedliche Gründe haben. Beispielsweise

  1. Der Entwickler der App hat vergessen diese Befehle zu registrieren.
  2. Im Hintergrund ist ein Tippfehler.
  3. Die App ist momentan nicht aktiv.

Punkt 1 und 2 sind selbsterklärend. Bei Punkt 3 kann man mit meinem Workaround für Applet-Nutzer aber reagieren.

Die Idee

Wäre es nicht super wenn sich das Hintergrundbild an den Status der App anpasst? Natürlich! Das Prinzip nutzen wir beispielsweise im Channel SidohCasino. Wenn die App läuft, dann ist das altbekannte Hintergrundbild zu sehen. Wenn sie nicht läuft, dann sieht man ein alternatives Bild,  in dem die Befehle ausgegraut sind und einen Hinweis, dass die App gerade nicht läuft.

Die Umsetzung

Du benötigst zwei  verschiedene Hintergundbilder:

  1. Das Standard-Hintergundbild
  2. Bild, in dem die Befehle ausgegraut sind

Diese Diashow benötigt JavaScript.

Man lädt das Hintergundbild mit ausgegrauten Befehlen als Channelhintergund hoch. Dies garantiert das dieses Bild auch zu sehen ist wenn die App gerade nicht läuft. Desweiteren braucht man nur noch folgenden KCode an die User senden, wenn diese den Channel betreten:

App.onUserJoined = function (user)
{
    var imageUrl = KnuddelsServer.getFullImagePath('bildname_app_an.jpg');
    user.sendPrivateMessage('Hallo ' + user.getProfileLink() + '! °>{bgimage}' + KnuddelsServer.getFullImagePath('/' + imageUrl) + '|20<°');
}

Somit bekommt der User eine private Nachricht, wenn er den Channel betritt und gleichzeitig wird dem User ein neues Hintergrundbild geladen.

 

Wie funktioniert der KCode?

Hier eine Erklärung im Detail von der Syntax von bgimage und der Bedeutung verschiedener Zahlen:

°>{bgimage}url|nr<°

Dieser Teil sagt dem Code das er ein Hintergrundbild setzen soll.

°>{bgimage}url|nr<°

Das ist die URL zu dem Bild. Mit KnuddelsServer.getFullImagePath(‚/bild.png‘); erhält man die URL des Bildes wenn es im Ordner www liegt.

°>{bgimage}url|nr

Diese Nummer gibt an wie das Hintergrundbild angezeigt werden soll.

Nr.    Wirkung
0    Strecken
6    Skaliert (Füllend, Zentriert, Mode1)
10    Skaliert (Füllend, Zentriert, Mode2)
54    Skaliert (Füllend, Zentriert, Mode3)
7    Skaliert (Komplett sichtbar, Zentriert)
61    Skaliert auf Höhe (Rechts)
40    Skaliert auf Breite (Oben)
56    Skaliert auf Breite (Unten)
17    Gekachelt
33    Gekachelt (2fache Größe)
59    Gekachelt (3fache Größe)
18    Gekachelt (Zeilenweise versetzt)
34    Gekachelt (Zeilenweise, 2fache Größe)
50    Gekachelt (Zeilenweise, 3fache Größe)
19    Gekachelt (Spaltenweise)
34    Gekachelt (Spaltenweise, 2fache Größe)
50    Gekachelt (Spaltenweise, 3fache Größe)
20    Zentriert
36    Zentriert (2fache Größe)
52    Zentriert (3fache Größe)
21    Angedockt (Oben, Rechts)

 

 

Ein Gedanke zu “Workaround: Das Spiel mit den Hintergründen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s