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

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
dater
Beiträge: 43
Registriert: 14.01.2006 15:22

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

Beitrag 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

Zuletzt geändert von dater am 24.01.2010 23:16, insgesamt 1-mal geändert.
Benutzeravatar
Shadow-Gamer
Beiträge: 152
Registriert: 06.09.2009 13:31
Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7

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

Beitrag von Shadow-Gamer »

pack das ding mal mit den dateien in ne Zip
Ich versuche ja nicht faul zu sein. :)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

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

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten