Jump to content

Featured Replies

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
  • Autor
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
  • Autor
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
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
  • Autor
Gerade eben schrieb Phrontistes:

Die "1" bedeutet eine Sekunde.

Danke, dann probiere ich mal rum.

Vielen Dank an @EASY und @Phrontistes für eure Tips

Geschrieben
  • Autor

wenn "1" eine Sekunde ist müsste 0,5 ne halbe sein? Oder wie ist das in LUA?

Geschrieben
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
  • Autor
Gerade eben schrieb Goetz:

ein Punkt

Danke dir Goetz

Geschrieben
  • Autor

Hier das Ergebnis

 

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

Geschrieben

Hallo Thomas_103,
mit der grafischen EV geht das natürlich auch ganz bequem:

blinkendes Warnlicht.mbp

Viele Grüße
Götz

Geschrieben
vor 3 Stunden schrieb Goetz:

mit der grafischen EV geht das natürlich auch ganz bequem:

warum denn einfach, wenn es auch kompliziert geht. ;)

Geschrieben

Moin @Thomas_103,

tolles Modell, klasse. 

Lieben Gruß 

Spurwechsel

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren