Hier sind:
Inhalt new werde nenn init blink
Inhalt von BlinkObj vom. 28.03.98
Übersicht
-- Blink - Objekt
--
-- Aufruf:
--new (script "BlinkObj",myMode,["MemberName":rect(x,x,x,x)],LKanale)
-------------
property ancestor,myLKanale, myLpDarst, myMode, myState,mySelf
-- myMode: #Kipp, #Ampel
-- LpDarst: ["MemberName":rect(x,x,x,x)]
-- LKanale: [120,119,118]
-- blink me,Param
on new me, eins,zwei,drei
on werde me,art
on nenn me
on init me,LpDarst
on blink me,Param
Inhalt top Callers
on new me, eins,zwei,drei
set myMode=eins
set LpDarst=zwei
set myLKanale=drei
set mySelf="BlinkObj"
set ahn ="BasisObj"
if objectP(ahn) then set the ancestor of me to ahn
else werde me,ahn
init me,LpDarst
return me
end
Inhalt top Callers
on werde me,art
set the ancestor of me to new (script art)
end
Inhalt top Callers
on nenn me
return mySelf
end
Inhalt top Callers
on init me,LpDarst
-- ist LpDarst eine Liste? Ja dann viele?
-- ist myLkanale Liste? Ja dann viele? Wenn weniger als in LDarst dann
-- besorg entsprechend oft freien Knl
-- bau myLpDarst als Kanal:Darst
-- verpuppe kanal mit Darst auf rect
-- ist LpDarst eine Liste? Ja dann viele?
if not listP(LpDarst) then return
set LpDarst.viel=Count(LpDarst)
-- ist myLkanale Liste? Ja dann viele?
if not listP(LKanale) then set LKanale=[]
set LKanale.viel=Count(LKanale)
-- Wenn weniger als in LpDarst dann
-- besorg entsprechend oft freien Knl
repeat while LpDarst.viel > LKanale.viel
append LKanale, getFreiKanal(#top)
set LKanale.viel=Count(LKanale)
end repeat
-- bau myLpDarst als Kanal:Darst
-- verpuppe
set myLpDarst=[:]
repeat with rum=1 to LpDarst.viel
set dProp=getat (LKanale,rum)
set dVal=getPropAt(LpDarst,rum)
set dRect=getat(LpDarst,rum)
setaProp(myLpDarst,dProp,dVal)
puppetsprite dProp,TRUE
set the member of sprite dProp = dVal
set the rect of Sprite dProp = dRect
end repeat
set myState=FALSE
end
------------------------
Inhalt top Callers
on blink me,Param
if voidP(Param) then set myState=not myState
else if ilk(param)=#integer then set myState=Param
set dKanal=getPropAt(myLpDarst,1)
if myState then
set the forecolor of sprite dkanal=5
else
set the forecolor of sprite dkanal=6
end if
end
--on rot me
-- set the forecolor of sprite mykanal=6
--end
--
--on gelb me
-- set the forecolor of sprite mykanal=4
--end
--
--on blau me
-- set the forecolor of sprite mykanal=3
--end
--
--on lila me
-- set the forecolor of sprite mykanal=2
--end
-- /IHV
HTML created by dp tiny script documenting xtra v0.2 28.03.98 pageID=BlinkObj