wie importiere ich asm oder c/c++ in BM
Übersicht

CiroBetreff: wie importiere ich asm oder c/c++ in BM |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
so wieder mal ne dumme frage, wie importiere ich c/c++ oder asm quelltexte in BM
geht das mit, Code: [AUSKLAPPEN] import meinquelltext.cpp |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Genau.
Und du musst MingW so installiert haben, dass du auch Module kompilieren könntest. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Ciro |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DANKE! ![]() achja weißt du zufällig wie man mit drawtext, diesen links oder rechtsbündig ausrichtet.also mit anderen worten wie formatiere ich einen text.? |
||
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ciro hat Folgendes geschrieben: achja weißt du zufällig wie man mit drawtext, diesen links oder rechtsbündig ausrichtet.also mit anderen worten wie formatiere ich einen text.?
Mit einer Simplen Berechnung ![]() Hier ist ein Beispiel: Code: [AUSKLAPPEN] SuperStrict
Framework BRL.GLMax2D Graphics 640,480 Global mode:Int = 0 Local info:String = "[LEERTASTE] = Weiter | Pfeiltasten = Box vergroeßern/verkleinern" Local boxwidth:Int = 290 Local boxheight:Int = 290 Local x:Int = 0 Local y:Int = 0 Local tx:Int = 0 Local ty:Int = 0 Local text:String = "" Repeat Cls x = MouseX() y = MouseY() SetColor 120,120,120 DrawRect x-2,y-2,boxwidth+4,boxheight+4 SetColor 200,200,200 DrawRect x,y,boxwidth,boxheight SetColor 255,255,255 DrawText info,GraphicsWidth()/2-TextWidth(info)/2,12 DrawText "Rechts",GraphicsWidth()-TextWidth("Rechts"),240 DrawText "Mitte",GraphicsWidth()/2-TextWidth("Mitte")/2,240 DrawText "Links",0,240 SetColor 0,0,0 Select mode Case 0 text = "Zentriert" tx = x+boxwidth/2-TextWidth(text)/2 ' Horizontal Zentriert ty = y+boxheight/2-TextHeight(text)/2 ' Vertikal Zentriert Case 1 text = "Rechtsbündig" tx = x+boxwidth-TextWidth(text) ' Horizontal Rechtsbündig ty = y+boxheight-TextHeight(text) ' Vertikal Unten Case 2 text = "Linkbündig" tx = x ty = y Case 3 text = "Links-Mitte" tx = x ty = y+boxheight/2-TextHeight(text)/2 ' Vertikal Zentriert Case 4 text = "Links-Unten" tx = x ty = y+boxheight-TextHeight(text) ' Vertikal Unten Case 5 text = "Mitte-Oben" tx = x+boxwidth/2-TextWidth(text)/2 ' Horizontal Zentriert ty = y Case 6 text = "Mitte-Unten" tx = x+boxwidth/2-TextWidth(text)/2 ' Horizontal Zentriert ty = y+boxheight-TextHeight(text) ' Vertikal Unten Case 7 text = "Rechts-Oben" tx = x+boxwidth-TextWidth(text) ' Horizontal Rechtsbündig ty = y Case 8 text = "Rechts-Mitte" tx = x+boxwidth-TextWidth(text) ' Horizontal Rechtsbündig ty = y+boxheight/2-TextHeight(text)/2 ' Vertikal Zentriert EndSelect DrawText text,tx,ty If KeyHit(KEY_SPACE) mode:+1 If KeyDown(KEY_UP) boxheight:-3 If KeyDown(KEY_DOWN) boxheight:+3 If KeyDown(KEY_LEFT) boxwidth:-3 If KeyDown(KEY_RIGHT) boxwidth:+3 If mode>8 Then mode = 0 Flip Until AppTerminate() Or KeyDown(KEY_ESCAPE) Der Code ist hoffentlich selbsterklärend ![]() Hoffe mal, dass ich dir helfen konnte, Ciro ![]() Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Ciro |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke foody.wie ich sehe importierst du das 2d module,kann man dann anschließend alle befehle wie z.b text usw von 2d übernehmen?wenn ja geht das auch mit 3dmax?also wenn ich in BM das 3dmodul importiere ich denke du weißt schon was ich meine... | ||
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also wenn man ein Module importiert, importiert man die Funktionen, Types, Variablen und sonst so alles mit, was in dem Module verfügbar sind (und nicht als private deklariert wurden).
Wenn du jetzt Max2D und in Zukunft vllt auch Max3D Importierst, importierst du alle Funktionen, Variablen, Typen, etc von beiden Module bzw von allen modulen die du importierst. Jedes Module hat ihren eigenen "Namespace". D.h. falls es mal gleichnamige Funktionen in verschiedenen Module geben soll, kann man sie mit MODULESCOPE.MODULENAME.FUNKTION|VARIABLE|TYPE geziehlt ansprechen. Kleines Beispiel: Code: [AUSKLAPPEN] SuperStrict
Framework BRL.GLMax2D Const KEY_ESCAPE:Int = -1 Graphics 240,240 Repeat Cls DrawRect MouseX(),MouseY(),120,120 Flip Until KeyDown(KEY_ESCAPE) Or AppTerminate() Function KeyDown:Int(key:Int) 'Den Wert von "key" durch den Wert der Konstante "KEY_ESCAPE", aus dem Module BRL.KeyCodes, ersetzten. If key=KEY_ESCAPE Then key = BRL.KeyCodes.KEY_ESCAPE 'Die Funktion "KeyDown" vom Module BRL.PolledInput ausführen Return BRL.PolledInput.KeyDown(key) EndFunction Function DrawRect(x:Int,y:Int,w:Int,h:Int) ' Max2D beinhaltet die Draw-Befehle ' Da es keine SetColor Funktion hier "gibt", wird die existierende von BRL.Max2D genommen SetColor 120,120,120 BRL.Max2D.DrawRect x,y,w,h ' Man könnte es auch so machen BRL.Max2D.SetColor 50,50,50 BRL.Max2D.DrawRect x+2,y+2,w-4,h-4 EndFunction Hier wird das Module BRL.GLMax2D importiert, welches das Max2D- und GLGraphics importiert hat, die wiederum .................... importiert haben. Ich hoffe, dass ich deine frage verstanden habe und es nicht zu blöd erklärt habe ![]() Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
Ciro |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein du hast es super erklärt,find ich ja genial das macht BM echt flexibel.man müßte sich jetzt nur genau mit den modulen auskennen sprich welche funktion versteckt sich in welchem modul....da es ja nur ein paar module sind ![]() aber ich fang erstmal ganz klein an und mache an meinem 2d space game fleißig weiter.als nächstes sind die laser dran.ich versuche diesmal types einzusetzen obwohl ich mit arrays schneller wäre.nochmal vielen dank für deine erklärung FOODy. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group