Imagefile für alle Karten übernehmen

Startseite Foren Deutsches LiveCode-Forum Imagefile für alle Karten übernehmen

Schlagwörter: 

Ansicht von 5 Antwort-Themen
  • Autor
    Beiträge
    • #24960
      dagelisa
      Teilnehmer

      Hallo!

      Ich nutze Livecode zum ersten Mal und programmiere ein Quiz. Nun habe ich 20 Quizfragen (eine pro Karte) erstellt, würde aber gerne ein gemeinsames Hintergrundbild für alle Karten übernehmen.

      Muss ich das Bild nun auf jeder Karte neu hinzufügen, auf Layer 1 (also als Hintergrund) setzen und zentrieren oder kann ich das Bild, das ich auf der ersten Karte als Hintergrund definiert habe, für alle Karten übernehmen? Wenn ich es jedes Mal manuell der Karte hinzufüge, ändert sich ja auch die Position des Bildes. Wenn man dann als Nutzer von Karte zu Karte springt, „wackelt“ das Hintergrundbild. Manuell ist also ziemlich blöd…

      Ebenso würde ich gerne die Schriftart und -größe für alle Karten ändern. Geht das, oder muss ich jetzt jedes Textfeld anpacken und manuell alles ändern?

      Danke vielmals! 🙂

    • #24962
      Klaus Major
      Verwalter

      Hallo dagelisa,

      willkommen im Forum!

      1. Selbes Hintergrundbild auf jeder Karte
      Das ist recht simpel:
      Auf der ersten Karte gruppiere das Bild, ja man kann ein einzelnes Objekt gruppieren.
      Gib dieser Grupp einen aussagekräftigen Namen! Immer wichtig!
      Im Inspector dieser Gruppe diese Properties anklicken:
      sharedbackground bzw.* Shared group
      backgroundbehavior bzw.* Behave as background
      *Ich habe in den Voreinstellungen von LC
      -> General -> Property labels are -> Name of Livecode property
      angeklickt, so sehe ich die Namen der Properties, wie man sie auch im Skript
      verwenden kann, ansonsten steht da die Beschreibung der Property.

      Wenn Du nun eine neue Karte erstellst, wird diese Gruppe automatisch dort plaziert!
      Falls Du schon Karten erstellt hattest, kannst Du selber diese Gruppe dort hieninbringen:
      Gehe zu der Karte und wähle im Menü -> Object -> Place group -> Name Deiner Gruppe

      Dann noch den Layer -> Inspector -> Size and position -> für diese Gruppe auf 1 setzen,
      also ganz nach hinten und fertig! 🙂

      2. Ebenso würde ich gerne die Schriftart und -größe für alle Karten ändern. Geht das, oder muss ich jetzt jedes Textfeld anpacken und manuell alles ändern?
      Das geht über „Vererbung“! 😀

      Wenn Du nichts anderes für eine Karte oder Feld oder Button oder überhaupt
      jedes Objekt einstellst, werden die Einstellungen für den STACK an all diese
      Objekte „vererbt“.

      Also wenn Du Schrift und Schriftgröße für den Stack einstellst, übernimmt jede Karte
      und jedes Objekt automatisch diese Einstellung.

      Ich hoffe, das hilft Dir weiter, bei weiteren Fragen einfach fragen! 🙂

      Gruß

      Klaus

    • #24964
      dagelisa
      Teilnehmer

      P.S.: Kann ich auch festlegen, dass der „weiter“-Button auf jeder Karte an exakt der gleichen Position erscheint?

    • #24965
      dagelisa
      Teilnehmer

      Oh, lieben Dank Klaus! Ich werde das mit dem Hintergrund gleich ausprobieren!

      Leider habe ich schon die Karten erstellt, d.h. ich müsste nun rückwirkend für alle Karten die Schriftart ändern (und dann eben auch die Positionen der Fragen/Textfelder und Buttons) 🙁 Hast du eine Idee, wie man das mit möglichst wenig Aufwand schafft?

      Danke!

    • #24966
      Klaus Major
      Verwalter

      Hi dagelisa (forenbiest? LOL, das wollen wir doch nicht hoffen 🙂 ),

      1. Kann ich auch festlegen, dass der „weiter“-Button auf jeder Karte an exakt der gleichen Position erscheint?
      Klar, mache es wie oben für Dein Hintergrundbild beschrieben, Button gruppieren und plazieren.

      2. ich müsste nun rückwirkend für alle Karten die Schriftart ändern
      Das geht nur mit einem Skript!
      Erstelle auf Karte 1 einen button mit diesem Skript:

      on mouseup
         put the num of cds into tAnzahlKarten
         
         ## Wir müssen auf jeder KArte die Felder und Button bearbeiten
         repeat with i = 1 to tAnzahlKarten
            
            ## Felder
            repeat with k = 1 to the num of flds of cd i
               set the textfont of fld k of cd i to EMPTY
               set the textsize of fld k of cd i to EMPTY
            end repeat
            ## Buttons
            repeat with m = 1 to the num of btns of cd i
               set the textfont of btn m of cd i to EMPTY
               set the textsize of btn m of cd i to EMPTY
            end repeat
         end repeat
      end mouseUp

      Einmal klicken, dann kannst Du den Button wieder löschen.

      Hinweis:
      Ich benütze erlaubte Abkürzungen in meinen Skripten, da ich faul bin 😀
      num = number
      grp = group
      grps = groups
      btn = button
      btns = buttons
      cd = card
      cds = cards
      fld = field
      flds = fields
      sb = scrollbar

      Gruß

      Klaus

    • #24968
      Klaus Major
      Verwalter

      Falls Du des Englsichen halbwegs mächtig bist, empfehle ich Dir, mal den einen oder anderen dieser Stacks durchzugehen, das gibt es eine Menge der LC Basics zu lernen:
      http://www.hyperactivesw.com/revscriptconf/scriptingconferences.html

Ansicht von 5 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.