Jump to content

Empfohlene Beiträge

Geschrieben

Hallo in die Runde,

wie bekomme ich es hin damit ein Objekt (leuchtend) und ein Objekt (nicht leuchtend) im Wechsel sichtbar und unsichtbar werden und das ganze in Dauerschleife bis der Schalter auf aus steht.

Und weil mir es mit einem Objekt nicht langt wollte ich je zwei (leuchtend / nicht leuchtend) mit einer Wiederholung ansprechen.

Gruß Thomas

Geschrieben

Hallo Thomas,

es wäre sehr hilfreich, wenn wir wüssten, um welche Objekte es sich handelt, denn nur so können wir eine konkret passende Antwort finden und eventuell geben. So wissen wir z.B. nicht, ob die referenzierten Objekte eine Animation besitzen oder nicht.

Könntest du also deine geschilderte Situation hier als kleine Beispiel einfügen?

HG
Brummi

Geschrieben

Hallo,

vor einer Stunde schrieb Thomas_103:

wie bekomme ich es hin damit ein Objekt (leuchtend) und ein Objekt (nicht leuchtend) im Wechsel sichtbar und unsichtbar werden und das ganze in Dauerschleife bis der Schalter auf aus steht.

Ich habe ein kleines Beispiel gebastelt, ist allerdings in lua...
Bild001.thumb.jpg.8f99022ea479169bbd17abd4c034bfd9.jpg

vor einer Stunde schrieb Thomas_103:

Und weil mir es mit einem Objekt nicht langt wollte ich je zwei (leuchtend / nicht leuchtend) mit einer Wiederholung ansprechen.

... da mit Schlagworten gearbeitet wird, spielt die Anzahl der Objekte keine Rolle...

Das Ereignis, wenn der Schalter betätigt wird...

--[[
* nicht erforderlich, wenn beim Anlegen der Objekte die Sichtbarkeit
  schon richtig gesetzt wurde!
--]]

if controller.state==0 then -- definierte Endbedingungen schaffen !
  for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do
    h.visible=false
  end
  for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do
    d.visible=true
  end
else
  if not deferredCall then
    -- definierte Anfangsbedingungen schaffen ! *
    for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do --*
      h.visible=false                                         --*
    end
    for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do --*
      d.visible=true                                            --*
    end
    --
    defer(1,"vz1")
  elseif deferredCall=="vz1" then -- Sichtbarkeit umschalten
    for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do
      h.visible= not h.visible
    end
    for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do
      d.visible= not d.visible
    end
    defer(1,"vz1") -- Schleife erzeugen
  end
end

Noch das Projekt zum ausprobieren...
2025-07-12-Objekte blinken 01.mbp

Gruß
EASY

Geschrieben
vor 57 Minuten schrieb Roter Brummer:

um welche Objekte es sich handelt,

Es geht um eine Ebene, orange eingefärbt mit einer Scheinwerfer-Textur.

Es gibt zwei die an sind und zwei die aus sind. Beide haben ein Schlagwort "Blitz-AN" und Blitz-AUS"

Daher möchte ich eine Wiederholung verwenden.

001.thumb.jpg.e7888012ac0fa4341047a4ca21ed5272.jpg

Geschrieben
vor einer Stunde schrieb EASY:

ist allerdings in lua...

das ist prima.

In welcher Zeile ändere ich die Geschwindigkeit?

Und kann man "hell" länger anlassen als "dunkel"?

LG Thomas

Geschrieben (bearbeitet)
vor 5 Minuten schrieb Thomas_103:

In welcher Zeile ändere ich die Geschwindigkeit?

 

defer(1,"vz1") -- Schleife erzeugen

Die "1" bedeutet eine Sekunde.

vor 5 Minuten schrieb Thomas_103:

Und kann man "hell" länger anlassen als "dunkel"?

So wie das derzeit programmiert ist: Nein.

Bearbeitet von Phrontistes
Geschrieben (bearbeitet)
vor 6 Minuten schrieb Thomas_103:

Oder wie ist das in LUA?

In Lua ist das Dezimaltrennzeichen ein Punkt und kein Komma (amerikanische Schreibweise)

Das Komma verwendet Lua, um mehrere Parameter einer Gruppe voneinander zu trennen. In diesem Fall die Zeit und den Text dahinter.

Bearbeitet von Goetz
Schreibfehler korrigiert
Geschrieben

Hallo,

vor 13 Stunden schrieb Thomas_103:

Und kann man "hell" länger anlassen als "dunkel"?

... das Skript für diese Variante...

--[[
* nicht erforderlich, wenn beim Anlegen der Objekte die Sichtbarkeit
  schon richtig gesetzt wurde!
--]]

if controller.state==0 then -- definierte Endbedingungen schaffen !
  for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do
    h.visible=false
  end
  for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do
    d.visible=true
  end
else
  if not deferredCall then
    -- definierte Anfangsbedingungen schaffen ! *
    for _,h in ipairs(layout:getEntitiesByKeyword("hell")) do --*
      h.visible=false                                         --*
    end
    for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do --*
      d.visible=true                                            --*
    end
    --
    defer(0.1,"vz1") -- Verzögerung bis zum 1. Umschalten in Sekunden
  elseif deferredCall=="vz1" then -- Sichtbarkeit umschalten
    local th=1.5                  -- Zeit für Zustand "hell" in Sekunden
    local td=0.5                  -- Zeit für Zustand "dunkel" in Sekunden
    local hell=layout:getEntitiesByKeyword("hell")
    for _,h in ipairs(hell) do
      h.visible= not h.visible
    end
    for _,d in ipairs(layout:getEntitiesByKeyword("dunkel")) do
      d.visible= not d.visible
    end
    if hell[1].visible then
      defer(th,"vz1") -- Schleife erzeugen für Zustand "hell"
    else
      defer(td,"vz1") -- Schleife erzeugen für Zustand "dunkel"
    end
  end
end

... und das Projekt dazu....
2025-07-12-Objekte blinken 02.mbp

Gruß
EASY

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...