Beginnerfrage

Anfängerfragen zum Programmieren mit PureBasic.
System Freeze
Beiträge: 6
Registriert: 05.06.2005 19:34

Beginnerfrage

Beitrag von System Freeze »

Hallo !

Ich habe mal eine Frage.Es geht um folgendes.Ich habe vor Jahren auf dem C=64 programmiert ( :lol: ), 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
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: Beginnerfrage

Beitrag von Bisonte »

Auch wenns nicht sein soll, aber da Du ja schon seit 2005 hier registriert bist .... nur für dich ;)
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
System Freeze
Beiträge: 6
Registriert: 05.06.2005 19:34

Re: Beginnerfrage

Beitrag 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
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Beginnerfrage

Beitrag 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...)
Benutzeravatar
Vera
Beiträge: 928
Registriert: 18.03.2009 14:47
Computerausstattung: Win XP SP2, Suse 11.1
Wohnort: Essen

Re: Beginnerfrage

Beitrag 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. :wink:
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
°
<°)))o><
~~~~~~~~~
echo "Don't worry"
echo "Keep quiet"
@echo off
format forum:\
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Beginnerfrage

Beitrag 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ö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
System Freeze
Beiträge: 6
Registriert: 05.06.2005 19:34

Re: Beginnerfrage

Beitrag 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
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: Beginnerfrage

Beitrag 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 :mrgreen: 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ö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: Beginnerfrage

Beitrag 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
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten