Seite 1 von 1
Beginnerfrage
Verfasst: 23.07.2010 22:18
von System Freeze
Hallo !
Ich habe mal eine Frage.Es geht um folgendes.Ich habe vor Jahren auf dem C=64 programmiert (

), und wollte jetzt auf dem PC wieder beginnen.Dachte das da Pure Basic genau richtig ist da ich auf dem C=64 auch mit Basic geschrieben habe.Mein Ziel ist es so eine Art "Demo" zu schreiben wie es damals auf dem C=64 war.Ist es möglich Text zu schreiben (am besten als Laufschrift) wenn ich openscreen benutzt habe?Muss ja sagen das ich bei Pure Basic ein totaler Anfänger bin.Meine bisherigen Versuche sind leider fehlgeschlagen

.Vielleicht kann mir wer den ein oder anderen Tip geben wie ich zu meinem Ergebis kommen kann bzw erstmal wie ich beginnen kann die Sprache zu erlernen.Würde mich sehr über Antworten freuen.Vielen Dank im Vorraus...
Greetz
Freeze
Re: Beginnerfrage
Verfasst: 24.07.2010 01:56
von Bisonte
Auch wenns nicht sein soll, aber da Du ja schon seit 2005 hier registriert bist ....
nur für dich 
Re: Beginnerfrage
Verfasst: 25.07.2010 01:06
von System Freeze
Hallo Bisonte
Danke für die Antwort

. Bin leider ein wenig "überfordert" mit den vielen Befehlen und weiß einfach nicht wo ich beginnen soll. Welche Befehle sollte ich mir mal vornehmen um etwas auf die Reihe zu bekommen? Eine lange Liste mit Befehlen hilft da nicht so wirklich. Wie gesagt habe auch einige Jahre nichts gemacht und Du hast Recht das ich Pure Basic schon eine ganze Weile besitze,nur leider nie wirklich dazu gekommen bin was zu machen. Daran will ich aber arbeiten

...
Greetz
Freeze
Re: Beginnerfrage
Verfasst: 25.07.2010 01:27
von TomS
StartDrawing() und StopDrawing()
Zwischen den beiden benutzt du DrawText()
Dort kannst du mir Farbe und Position spielen.
Für einen Scroll-Effekt z.B. Y als Konstande und X als Variable die du bei jedem Schleifendurchlauf rauf oder runter setzt.
Den Rest findest du in deinem PureBasic-Ordner unter \Examples\Sources\Sprite.pb
Dort ist ein einfaches Beispiel, dass alle benötigten Befehle beinhaltet (InitSprite(), Repeat...)
Re: Beginnerfrage
Verfasst: 25.07.2010 04:20
von Vera
Hallo System Freeze,
willkommen an Board
Im englischen Forum bin ich unlängst auf einen Thread aufmerksam geworden, worin ein kleiner Code nach und nach, von jedem der mitmachen wollte, erweitert wurde.
Es hat sogar mit laufendem und fließendem Text zu tun.
Auch wenn's nicht ganz Dein Anliegen trifft, ist es doch ein tolles Beispiel, um zu sehen, wie sich der Befehlsumfang allmählich erweitert und wandelt.
(Bis auf eine Unterbrechung, sind sie auch crossplattform.)
PureBasic Community: Evolving Code - Zum Neueinstieg bestimmt lehrreich und animierend.
viel Erfolg ~ Vera
Re: Beginnerfrage
Verfasst: 25.07.2010 10:38
von WPö
Servus, System Freeze!
Wenngleich auch schon seit fünf Jahren an Bord, auch von mir ein Willkommen entgegengeschmettert! Nun scheint für Dich der Durchbruch bei PureBasic gekommen.
Die Beispielprogramme zu PureBasic liegen zwar kostenlos, aber nicht umsonst bei. Schau Dir die Programme 'mal an und lerne so an funktionierenden Beispielen den Wortschatz kennen.
Übrigens: Hinter Interpunktionen müssen Leerzeichen stehen.
Gruß - WPö
Re: Beginnerfrage
Verfasst: 27.07.2010 19:30
von System Freeze
Hallo !
Erstmal vielen Dank für die Antworten...Als Ihr mit Pure Basic begonnen habt,was habt Ihr da so als erstes gemacht,programmiert bzw. welche Befehle habt Ihr Euch als erstes vorgenommen um in die Sprache zu finden?
@ WPö:Welche Beispielprogramme meinst Du?Die aus der Hilfe oder von den Tutorials?
Greetz
Freeze
Re: Beginnerfrage
Verfasst: 27.07.2010 20:10
von WPö
Sowohl als auch. Hier im Forum findeste auch ne Menge an Beispielprogrammen, tlw. aber sehr fortgeschritten.
Begonnen habe ich mit Vorkenntnissen in AmigaBasic, Assembler und ANSI-C und habe mich erstmal an die Datei-Ein-/Ausgabe gemacht. Alles, was mit Verzeichnisoperationen und Lesen/Schreiben in Dateien zu tun hat.
Es folgten Fenster und Innereien, hauptsächlich diese... na, die Dings, die Gadgets

inkl. Ereignisabfragen.
Wennste das dann intus hast, versuchs mal mit 3D oder Audio. Meine Baustelle ist da eher die Schnittstelle zur selbstgebauten Hardware.
Gruß - WPö
Re: Beginnerfrage
Verfasst: 28.07.2010 14:17
von bobobo
ne art demo .. viel Spass beim weiterspielen
Code: Alles auswählen
;initialisierung
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitSprite3D()=0
MessageRequester("Error", "Sprite system can't be initialized", 0)
End
EndIf
ExamineDesktops() ;ermittlung der screecapabilities
w=DesktopWidth(0)
h=DesktopHeight(0)
f=DesktopFrequency(0)
d=DesktopDepth(0)
Enumeration ;etwas bürokratie
#font
#spriteimage1
#sprite
#sprite3d
#background
EndEnumeration
If OpenScreen(w,h,d,"mein scroller",#PB_Screen_SmartSynchronization ,f) ;schirm auf
If CreateSprite(#sprite,128,128,#PB_Sprite_Texture) ;hier die spriteerstellung texture
Else ; abfangen, das hat mal übel bei
End ; mir gekracht
EndIf
CreateImage(#background,w,h,d) ; Bild hintergrund malen
StartDrawing(ImageOutput(#background))
DrawingMode(#PB_2DDrawing_Gradient)
BackColor(#Red)
FrontColor(#Blue)
LinearGradient(0,0,w,h)
Box(0,0,w,h)
StopDrawing()
LoadFont(#font,"",24); font für die Schriftausgabe, hier nur Größe ändern
CreateImage(#spriteimage1,128,128) ; Spriteinhalt malen
StartDrawing(ImageOutput(#spriteimage1))
DrawingMode(#PB_2DDrawing_Gradient)
BackColor(#Blue)
FrontColor(#Red)
LinearGradient(0,0,128,128)
Box(0,0,128,128)
DrawingMode(#PB_2DDrawing_Default)
Box(0,0,90,90,#Yellow)
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(#font));Font zuweisen
For c=255 To 0 Step -25
DrawText(c/25,c/25,"Demo",RGB(255-c,0,c))
Next
StopDrawing()
CreateSprite(#sprite,128,128,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(#sprite))
DrawImage(ImageID(#spriteimage1),0,0)
StopDrawing()
TransparentSpriteColor(#sprite, #Yellow) ; Our gilb is transparent :)
CreateSprite3D(#sprite3d,#sprite) ;3dSprite aus sprite erzeugen (inklusive transparenz)
speed=5 ; je höher desto scroll
x=-100 ; x initialisieren
Repeat
x=x+1*speed
If x>w
x=-100
EndIf
FlipBuffers()
ClearScreen(RGB(0,0,0))
StartDrawing(ScreenOutput())
DrawImage(ImageID(#background),0,0)
StopDrawing()
RotateSprite3D(#sprite3d, 0.6,#PB_Relative)
If Start3D()
DisplaySprite3D( #sprite3d, x, h/2+Sin(x/100)*250) ; 3dSprite von oben
DisplaySprite(#sprite , w-x, h/2+Sin(x/100)*250) ;nicht transparent
DisplayTransparentSprite(#sprite , w-x-200, h/2+Sin(x/100)*250) ;transparent
DisplaySprite3D( #sprite3d, w-x-100, h/2+Sin(x/100)*(Random(50)+200)); 3dSprite von oben
EndIf
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
Else
MessageRequester("tja","da scrollt sich nix")
EndIf
End