 |
|
BaselScript |
Beschreibung
Arbeiten mit Bildschirm
Auf dem Bildschirm können Daten durch eine der folgenden Konstruktionen (oder Benutzeroberfläche) dargestellt werden:
- Form (Formular)
- Dialog
- Menu (Menü)
- ListView (Ansichtsliste)
- Message/Print (Meldung)
Alle diese Konstruktionen bestehen aus Elementen, die wir "Tile" nennen.
Das Element (Tile) kann ein Text, ein Eingabefeld, eine Meldung oder ein Steuerungselement sein.
Jedes Element hat Name, Farbe, Ausgabedesign, Textinhalt, Bildschirmkoordinaten usw.
Für Steuerungselemente (Button, Checkbox etc.) wird eine Anweisungssektion angegeben,
die ausgeführt wird, wenn das Element aktiviert wird (z.B. Button wird berührt).
Das Skript verwendet die Koordinaten der Elemente für den virtuellen Bildschirm,
dessen Parameter in der Konfigurationsdatei auf 800x1280 eingestellt sind.
(zufällig wurden zum Zeitpunkt des Schreibens der Skriptbeispiele Gadgets mit solchen Bildschirmgrößen verwendet).
Bei Gadgets mit einer anderen Bildschirmauflösung werden die x,y-Koordinaten und die Größe der Bildschirmelemente (Breite und Höhe) automatisch neu berechnet.
Mobilgeräte haben zwei Bildschirmmodi bei einer bestimmten Drehung des Geräts - HOCHFORMAT oder PORTRAIT (Breite < Höhe) und LANDSCAPE (Breite > Höhe)
Wenn eine Drehung auf dem Gerät erlaubt ist, werden beim Drehen des Geräts neue Maße für die reale Höhe und Breite des Geräts bestimmt und dementsprechend die Parameter des virtuellen Bildschirms (Breite und Höhe) vertauscht.
Dies sollten Sie bedenken, wenn Sie Skripte schreiben, die für zwei Gerätewechsel funktionieren sollen. Entweder sollten die angegebenen Koordinaten auf dem Bildschirm im Bereich von 800x800 liegen, oder Sie müssen für jede Drehung ein eigenes Skript schreiben -
name.script (PORTRAIT) und name_landscape.script (LANDSCHAFT)
Wenn Sie das Gerät im Querformat drehen, versucht das Skript zuerst zu laden
name_landschaft.script. Wenn es keine gibt, wird das name.script-Skript für den PORTRAIT-Modus neu geladen. All dies ist in den beigefügten Beispielen zu sehen.
Der Bildschirm kann in drei Modi verwendet werden:
- Dehnen (Stauchen) der Anzeige auf die tatsächlichen Abmessungen des Gadgets (ein Quadrat kann zu einem Rechteck werden)
- Annäherung der Darstellung an die Bildschirmgröße unter Beibehaltung der Proportionen des virtuellen Bildschirms
(Teil des Bildschirms kann frei bleiben)
- ohne Skalierung
Die Neuberechnung der Koordinaten und Größen von Elementen wird im folgenden Beispiel gezeigt.
Ausgangsdaten:
Virtueller Bildschirm 800x1280 (alle Koordinaten im Skript liegen in diesem Bereich)
Gadget-Bildschirm 1080x2034
Szenenorientierung - "Portrait"
Skalierungsfaktor dx = 1,35 (1080/800)
Skalierungsfaktor dy = 1,589 (2034/1280)
1. Skalierung auf die tatsächliche Größe des Gadgets (Vollbild)
Alle x-Koordinaten und Breiten von Elementen in der Szene werden mit dx multipliziert,
alle y-Koordinaten und Höhen der Elemente in der Szene werden mit dy multipliziert.
Der "Vollbild"-Modus ist standardmäßig für eine nicht-grafische Szene eingestellt
scene=1 name="name"
oder #_scaling_mode="full screen" am Anfang der Szene.
2. Skalierung unter Beibehaltung der Proportionen des virtuellen Bildschirms
Für die Skalierung auf x und y wird der kleinere Wert von dx und dy gewählt, nennen wir ihn dxy.
und dann werden alle Koordinaten, Breite und Höhe der Elemente mit dxy multipliziert.
Der Seitenverhältnismodus ist standardmäßig für die Grafikszene eingestellt,
scene=1 name="name" mode=graphic
oder #_scaling_mode="keeping proportions" am Anfang der Szene.
Koordinaten und Größen von Elementen werden ohne Neuberechnung aus Skripten übernommen.
#_scaling_mode="no scaling" am Anfang der Szene.
4. Virtuelle Breite und Höhe im Skript festlegen
Wenn Sie sich entscheiden, in Ihren neuen Skripten Koordinaten für eine andere virtuelle Bildschirmgröße festzulegen, aber möchten, dass die Beispielskripte weiterhin die alte Einstellung von 800 x 1280 verwenden, gehen Sie wie folgt vor:
Legen Sie beispielsweise die Abmessungen des virtuellen Bildschirms am Anfang des Skripts in der INIT-Sektion fest
section init
#_virtual_width=1200
#_virtual_height=1900
...
end
In diesem Fall werden alle Koordinaten im Skript für den neuen virtuellen Bildschirm neu berechnet, und das Ergebnis für das Skript 21_0_calculator lautet wie folgt:
Wenn nach der Installation der Anwendung beim Strecken des gesamten Bildschirms in der Höhe Ungenauigkeiten auftreten, wir empfehlen, einen neuen Wert für die Höhe der Statuszeile in der Konfigurationsdatei festzulegen