GUI in BB3D?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

DA

Betreff: GUI in BB3D?

BeitragDi, Jun 15, 2004 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Ich hab nur Blitz3D aber ich möchte trodzdem eine windows ober fläche haben. Ich bin zwar ganz neu in Blitz basic aber ich habe vorher Qbasic programmiert. Und ich wollte noch fragen, wen dat geht mit Blitz3D, ob ihr ein tut. dafür kennt wie man ein GUI schreibt?
Deutscher Blitz Basic Chat
 

Edlothiol

BeitragDi, Jun 15, 2004 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Och. Sowas gabs doch schon oft.

https://www.blitzforum.de/viewtopic.php?t=3890

https://www.blitzforum.de/viewtopic.php?t=1731

DA

BeitragDi, Jun 15, 2004 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach, das ist mir zu kompliziert!
Aber man kann ja in blitz plus ein GUI programmiren.
Geht das den auch bei der demo?
Und wen, gibts trodzdem ein tut. dafür?
Deutscher Blitz Basic Chat

BladeRunner

Moderator

BeitragDi, Jun 15, 2004 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn dir dass schon zu kompliziert ist, lass das Programmieren lieber bleiben. Codes erstellen ist halt Arbeit, kein Spiel.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

DA

BeitragDi, Jun 15, 2004 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Da hast du recht, aber warum es sich schwer machen wens auch vieleicht leicht geht?
Deutscher Blitz Basic Chat

BladeRunner

Moderator

BeitragDi, Jun 15, 2004 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Und was nutzt dir die einfach erlangte Oberffläche wenn dir Die Kenntnis zum Programmieren des Programms dahinter fehlt ?
Aber mach was du willst...
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

ChrisAttack

BeitragDi, Jun 15, 2004 15:20
Antworten mit Zitat
Benutzer-Profile anzeigen
aaaaalso....
2 Möglichkeiten:

1. du codest deine eigene gui...
ist zwar ein bisschen schwieriger, aber die beste möglichkeit
2. du nimmst eine gecodete gui von einem anderen, zum Beispiel BlitzUI
B3D
MSVC++
DX9SDK

Bob

BeitragMo, Jun 21, 2004 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich bin auch grade dabei mit eine Gui zu Basteln.
Ist zwar noch super primitiv aber ich studiere halt noch.
Hier meine ersten Gehversuche für die die es interessiert. Surprised


Gruß Bob

Code: [AUSKLAPPEN]
Const ScreenX = 800
Const ScreenY = 600

Global FPSSEC = MilliSecs(), FPS, FRAMES
Graphics3D ScreenX,ScreenY,16,2

SetBuffer BackBuffer()



camera=CreateCamera()
Licht=CreateLight()
RotateEntity Licht,90,0,0

SetBuffer BackBuffer()
s1% = create_slider(0,360,10,100,"Rot. Y",0)
s2% = create_slider(-50,50,10,150,"Rot. Z ",0)
s3% = create_slider(-180,180,10,200,"Rot x",0)
s4% = create_slider(0,1,10,250,"Scale",0.5)
s5% = create_slider(0,1,10,300,"Alpha 4",0.5)
;Syntax zur Slider Erstellung
;hnd =  create_slider(min_wert,max_wert,x-pos,ypo,beschriftung,Defaultwert)

cube = CreateCube()
PositionEntity cube,0,0,5
While Not KeyDown( 1 )

   WireFrame 1      
   UpdateWorld
   RenderWorld
   
   If MouseDown(1)
      slide(getslider(), MouseX())
   EndIf

   ;Auslesen von werten mit slider_value (hnd von slider)
   RotateEntity cube,slider_Value(s3),slider_Value(s1),slider_Value(s2)
   ScaleEntity cube,slider_Value(s4),slider_Value(s4) ,slider_Value(s4)
   EntityAlpha cube,slider_Value(s5)

   ;Alle Slider Anzeigen
   show_Elements()
   
   Text 0,0,"FPS :"+ FPS(1)
   Text 0,20, "3D Gui / Slider Demo by bob"
   Flip 0
Wend
End

Function FPS(MODE)
If MODE = 1 Then
   FRAMES = FRAMES + 1
   If MilliSecs() - FPSSEC => 1000 Then
      FPS = FRAMES
      FRAMES = 0
      FPSSEC = MilliSecs()
   EndIf
EndIf
Return FPS
End Function



;Slider GUI Element ------------------------------------------------------
Type Slider
   Field hnd            ;Handle des IMAGE
   Field x,y,w,h         ;Position und Größe
   Field min#,max#         ;Wertbereich min / Max
   Field wert#            ;Aktueller Wert
   Field Cap$            ;Beschriftung
   Field bt_pos         ;Position des Schiebers
End Type


;Crate------------------------------------------------------------------
Function Create_Slider(Min,Max,x,y,cap$,wert#=0)
   s.slider = New slider
   s\x = x
   s\y = y
   s\cap = cap   
   s\w = 107
   s\h = 25
   s\min = min
   s\max = max
   s\wert = wert
   s\bt_pos =0
   s\hnd = CreateImage(s\w,s\h)

   ;Default Wert und Position des Bt_sliders
   x=s\x + (s\wert *100)
   hnd =Handle(s)
   Slide(hnd,x)
   Draw_SliderRect(s.slider)
   Return Handle(s)
End Function


;Liefert den Handle des SSliders über dem die Maus grade ist -------------------
Function getSlider%()
   x = MouseX()
   y = MouseY()
   For s.slider = Each  slider
      wert =RectsOverlap(x-1, y-1, 2, 2, s\x, s\y, s\w, s\h)
      DebugLog wert
      If wert <> 0 Then
         hnd = Handle(s)
            Return hnd
      EndIf
   Next
End Function


;Bewegt den Sliderbutton und errechnet den aktuellen wert
Function Slide(hnd,x)
   DebugLog "hnd "+hnd
   If hnd = 0 Then
      Return
   EndIf
   s.slider = Object.slider(hnd)
   
   ;Position des Buttons
   x = x- s\x
   If x < 0   x = 0
   If x > 100 x = 100
   s\bt_pos = x   
   bereich#  = Abs(s\min - s\max)
   stepsize# = bereich / 100
   s\wert = stepsize * x
   s\wert = s\wert  -Abs(s\min)
   draw_sliderRect(s.slider)

End Function


;Bringt einen Slider (hnd) auf den Schirm   -----------------------------------------------------------
Function Draw_SliderRect(s.slider)
   SetBuffer ImageBuffer(s\hnd)
   Cls
   Color 255,0,0
   Rect 0,15,107,10,0         ;Begrenzung
   Rect s\bt_pos,17,6,6         ;Slider button
   Text 0,0, s\Cap            ;Caption
   Color 0,255,0
   Text 70,0,s\wert         ;Wert
   SetBuffer BackBuffer()
End Function


;Liefert den Wert eines Sliders   -----------------------------------------------------------
Function slider_value#(hnd)
s.slider = Object.slider(hnd)
Return s\wert

End Function

;Zeigt alle Slider an ----------------------------------------------------------------

Function show_elements()
   For s.slider =  Each slider
      DrawImage s\hnd, s\x,s\y
   Next
End Function
 

fliege

BeitragMo, Jun 21, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
in welcher dll von BlitzPlus sind die Befehle beschrieben, dann könnte man sich doch mal die raussuchen die man braucht, und die dann in eine decls Datei schreiben... 8) Bitte schreibt nicht so unnützes Zeugs wie "Das schafft man alleine nie..." denn sowas nimmt jemanden nur motivation... 8)Schreibt mir einfach die/den Namen der dll - Datei/en sagen?

ChrisAttack

BeitragMo, Jun 21, 2004 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schätze mal die runtime.dll
B3D
MSVC++
DX9SDK
 

Edlothiol

BeitragMo, Jun 21, 2004 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Würde mich sehr wundern, wenn das ginge. Ich hab mir mal die DLL angeguckt, und sie exportiert keine Funktionen, also kannst du auch nicht einfach als Userlib drauf zugreifen.

Bob

BeitragMo, Jun 21, 2004 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Äh. Hab noch was vergessen.

ChrisAttack hat Folgendes geschrieben:
aaaaalso....
2 Möglichkeiten:

1. du codest deine eigene gui...
ist zwar ein bisschen schwieriger, aber die beste möglichkeit
2. du nimmst eine gecodete gui von einem anderen, zum Beispiel BlitzUI


Ja wo kann man den die BlitzUI mal sehen, downloaden?
 

Edlothiol

BeitragMo, Jun 21, 2004 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei Google...

http://www.legacygames.co.uk/index.php
 

fliege

BeitragMo, Jun 21, 2004 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
zu meinem letzten Post:
Es ist egal, ich brauche nur noch einen kleinen Pseudocode, da ich es nicht schaffe...
Das B+ Programm soll an den Localhost(127.0.0.1) über UDP einen String schicken, in dem der Pfad zu einer Highmap gespeichert wird... Das B3D Programm soll diese Nachricht empfangen können, das Terrain Laden und anzeigen... Wäre das möglich für euch, denn dann könnt' ich mal schauen, ich habe das Menü ja schon fast fertig... 8)

DA

BeitragDo, Jul 01, 2004 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Also,

Ich hab mir die Blitzplus demo gesaugt und ich bin begeistert!!!
Also in Qbasic war alles viel schwerer finde ich!
Ich hab jetzt auch schon meinen eigenen mp3 player programmiert!
wer ihn haben will,
www.websamba.com/wbsamba/mp3player.zip

Aber ich sag euch der ist schlecht programmiert!
Außerdem klappen einige sachen noch nicht!
(Vielen dank nochmal für eure hilfe!)
Deutscher Blitz Basic Chat

dominik

BeitragDo, Jul 01, 2004 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
also hier fehlt irgentwo nen NEXt:

Code: [AUSKLAPPEN]
Repeat
  If werter = 0 Then Exit
  texter = texta + 1
  For one = 1 To 100
    Select texter
    Case one
    da$ = "0." + texter
    de = WriteFile("nichts.txt")
    WriteLine de, texter
    ChannelVolume kanal, da$
    SetGadgetText label, texter + "%"
  End Select
Forever

DA

BeitragDo, Jul 01, 2004 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh sorry, ich hab ihn gerade verändert und dan gespeichert und dann verschickt! *uuupps*

Hab ihn verändert!
Deutscher Blitz Basic Chat

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group