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
        Administrator

          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
              Administrator

                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
                Administrator

                  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.