Seite 1 von 1

HTPC Menu -> TV - Menu >>>> Ideen

Verfasst: 24.01.2010 00:49
von dater
Hi,
ich habe mein kleines HTPC-Menu fast fertig.
Frage ? hat von Euch einer, noch einige Ideen, um das Menu
mit Effekten etwas aufzupolieren. ( 2D - 3D ??? ).
Ich kann keine Effekt programmieren !

http://sites.google.com/site/fastclipv2 ... ects=0&d=1

Code: Alles auswählen

#SCREEN_W       = 1920
#SCREEN_H       = 1080
#SCREEN_TITLE   = "HTCP-Menu"



Global spnr,spw,sph
spnr=0
spw=800  ;Spreit Breite
sph=120  ;Spreit Höhe
Procedure sp_Erstellen(text$,farbe2)
nr=spnr
w=spw
h=sph
CreateSprite(nr, w,h, #PB_Sprite_Texture)
StartDrawing(SpriteOutput(nr))
  FrontColor(farbe2)
  DrawingMode(1)
  DrawingFont(FontID(1))
  Breite = TextWidth(text$)
  Hoehe = TextHeight(Text$)
  ;DrawText((w/2)-(breite/2), (h/2)-(hoehe/2),text$)
  DrawText(0, (h/2)-(hoehe/2),text$)
  spnr=spnr+1
StopDrawing()
CreateSprite3D(nr,nr) 
EndProcedure

;***************************************************************************************************************

LoadFont(1, "Arial", 55)
;  CopySprite(0,1,0)
InitSound()
LoadSound(0,"sound1.wav")



If InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 or later", 0)
  End
EndIf


If OpenScreen(#SCREEN_W,#SCREEN_H, 32,#SCREEN_TITLE)


If InitSprite3D() = 0 
  MessageRequester("DirectX fehler !", "Fehler", #PB_MessageRequester_Ok) 
  End 
EndIf 
Sprite3DQuality(#PB_Sprite3D_BilinearFiltering ) 
	x=(#SCREEN_W/2)-200
	LoadSprite(255, "hintergrund3.bmp", 0) 
	StartDrawing(SpriteOutput(255))
	FrontColor($241DDB)
	LineXY(x,0,x,1080,$0)
	StopDrawing()
    

	; Menu Einträge erstellen 
        ; Später über Textdatei 

	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)
	sp_erstellen("S T A R T",$1A7EE5)
	sp_erstellen("TV",$0005FF)
	sp_erstellen("XBMC",$2226DD)
	sp_erstellen("ARD Mediathek",$991E66)
	sp_erstellen("ZDF Mediathek",$111111)


  x=(#SCREEN_W/2)-200
  y=(#SCREEN_H/2)-50
  y2=(#SCREEN_H/2)-50

counter=0

;Sprites vorbreite -> alle 50% kleiner bis auf den ersten Sprite
For i=0 To spnr -1
    	 ZoomSprite3D(i,spw/2,sph/2) ; vonn 
Next i	
ZoomSprite3D(0,spw,sph)


Repeat

ExamineKeyboard() 
If y2=y 
      
      If counter<spnr-1
    		If KeyboardPushed(#PB_Key_Up) 	: y2=y-150 	: last=counter	: counter+1 	: EndIf
    	EndIf
    	If counter>0
    		If KeyboardPushed(#PB_Key_Down)	: y2=y+150	: last=counter	: counter-1 	: EndIf
 	EndIf
    b=10			; 10 Pixel pro Schritt. / 150 / 10 = 15 Schritte
    xbz=27   		; 27 mal 15 schritte = 405 plus 400 = Breite 800
    ybz=4   		; 4 mal 15 schritte 	 = 60  plus 60 = Höhe 120
    
    xzoomin=spw/2
    xzoomout=spw
    yzoomin=sph/2
    yzoomout=sph
EndIf
	
    If y2<y	: y = y - b	: EndIf
    If y2>y	: y = y + b 	: EndIf	
   
    If y2<>y
    xzoomin+xbz
    xzoomout-xbz
    yzoomin+ybz
    yzoomout-ybz
    
    ZoomSprite3D(last,xzoomout,yzoomout)
    ZoomSprite3D(counter,xzoomin,yzoomin)

    EndIf
      
   ClearScreen(RGB(0,0,0))
   DisplaySprite(255,0,0) ; Hintergrund

    Start3D()
    For i=0 To spnr -1
    	DisplaySprite3D(i, x,y+(150*i)) 
   		
    Next i	
    Stop3D() 

   FlipBuffers()
  Until KeyboardPushed(#PB_Key_Escape)

Else
  MessageRequester("Error", "Can't open a Screen", 0)
EndIf


Re: HTPC Menu -> TV - Menu >>>> Ideen

Verfasst: 24.01.2010 20:05
von Shadow-Gamer
pack das ding mal mit den dateien in ne Zip

Re: HTPC Menu -> TV - Menu >>>> Ideen

Verfasst: 24.01.2010 20:08
von Kaeru Gaman
hatte noch garnicht in den Code geschaut...

@dater
wenn du code postest, der content nachladen will, musst du den content auch zur verfügung stellen.