Teilbilder erstellen?

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

 

Takashi Kenshin

BeitragSa, Okt 13, 2007 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
kann man den normalen cursor nicht auch so verwenden ich meine schaut euch mal solitär an da funktioniert das tadellos.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragSa, Okt 13, 2007 20:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast in deiner Hauptschleifende Dutzende von inputs, was erwartest Du? Der Rechner ist voll damit beschäftigt auf Eingaben zu warten, der aktualisiert sicher keine Maus mehr.
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
 

Takashi Kenshin

BeitragSa, Okt 13, 2007 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ja doch das funktioniert jetzt wunderbar. ich frage mich nur ob man nicht auch die maus ganz normal lassen kann und damit das spiel steuern kann.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

The_Nici

BeitragSa, Okt 13, 2007 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ShowPointer wars glaub?
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 9:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ja damit zeigst du die normale "windows maus" an aber kann man dan auch das spiel mit ihr steuern? sprich muss man dann keinen eingenen cursor erstellen?
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

Lobby

BeitragSo, Okt 14, 2007 10:14
Antworten mit Zitat
Benutzer-Profile anzeigen
-Ja!

im Vollbildmudus gehts nur mit eigener Maus, aber im Fenstermodus
kannst du auch ohne Probleme die Window-Maus verwenden mit allen Mausbefehlen Wink (also MauseX(),Mousey(),MouseDown(?),...)
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 11:46
Antworten mit Zitat
Benutzer-Profile anzeigen
auch die koolissionsabfragen?
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

The_Nici

BeitragSo, Okt 14, 2007 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein. Nur mit Umwegen. (Rectsoverlap auf MouseX() MouseY() etc. etc.
Ich würds eh eher mit Coords machen. Geht schneller.
Denkst du eigentlich auch mal selber? ôo
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ja die ganze zeit. deswegen gibts auch ständig probleme. ich glaub würde ich mal stur anwenden was ich gelernt habe würde es besser klappen aber ich kann so viel nachedenken wie ich will und weiß trozdem nicht was "Coords" sind. Very Happy
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

The_Nici

BeitragSo, Okt 14, 2007 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Koordinaten. 100,100 etc.

Du prüfst ob MouseX(), MouseY() irgendwo zwischen dem Startpunkt eines Rechtwinkligen Buttons und den 3 andern Ecken sind. Wenn ja überprüfst du ob die Maus gedrückt wurde.
Tipp: Mach am Anfang der Schleife eine Variable namens ms=Mousehit(1), dann kannst du Mousehit mehrmals benutzen.

Und Probleme löst man am besten wenn man selber Denkt.
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
irgendwie funzt die koolision nicht:
Code: [AUSKLAPPEN]
AppTitle "Takashi Sodoku"


Graphics 600, 400, 32, 2
ClsColor 130, 0, 0
Cls
SetBuffer BackBuffer()


Global Spielfeld = LoadAnimImage ("Sodoku.bmp", 44, 44, 0, 81)
Global Zahlenfeld = LoadAnimImage ("Zahlenfeld.bmp", 44, 44, 0, 9)
Global Maus = LoadImage ("Maus.bmp")
MaskImage Maus, 255, 0, 255


HidePointer
Repeat
Cls


Dim Feld (9,9)
   Feld (1,1) = Input
   Feld (1,2) = Input
   Feld (1,3) = Input
   Feld (1,4) = Input
   Feld (1,5) = Input
   Feld (1,6) = Input
   Feld (1,7) = Input
   Feld (1,8) = Input
   Feld (1,9) = Input
   Feld (2,1) = Input
   Feld (2,2) = Input
   Feld (2,3) = Input
   Feld (2,4) = Input
   Feld (2,5) = Input
   Feld (2,6) = Input
   Feld (2,7) = Input
   Feld (2,8) = Input
   Feld (2,9) = Input
   Feld (3,1) = Input
   Feld (3,2) = Input
   Feld (3,3) = Input
   Feld (3,4) = Input
   Feld (3,5) = Input
   Feld (3,6) = Input
   Feld (3,7) = Input
   Feld (3,8) = Input
   Feld (3,9) = Input
   Feld (4,1) = Input
   Feld (4,2) = Input
   Feld (4,3) = Input
   Feld (4,4) = Input
   Feld (4,5) = Input
   Feld (4,6) = Input
   Feld (4,7) = Input
   Feld (4,8) = Input
   Feld (4,9) = Input
   Feld (5,1) = Input
   Feld (5,2) = Input
   Feld (5,3) = Input
   Feld (5,4) = Input
   Feld (5,5) = Input
   Feld (5,6) = Input
   Feld (5,7) = Input
   Feld (5,8) = Input
   Feld (5,9) = Input
   Feld (6,1) = Input
   Feld (6,2) = Input
   Feld (6,3) = Input
   Feld (6,4) = Input
   Feld (6,5) = Input
   Feld (6,6) = Input
   Feld (6,7) = Input
   Feld (6,8) = Input
   Feld (6,9) = Input
   Feld (7,1) = Input
   Feld (7,2) = Input
   Feld (7,3) = Input
   Feld (7,4) = Input
   Feld (7,5) = Input
   Feld (7,6) = Input
   Feld (7,7) = Input
   Feld (7,8) = Input
   Feld (7,9) = Input
   Feld (8,1) = Input
   Feld (8,2) = Input
   Feld (8,3) = Input
   Feld (8,4) = Input
   Feld (8,5) = Input
   Feld (8,6) = Input
   Feld (8,7) = Input
   Feld (8,8) = Input
   Feld (8,9) = Input
   Feld (9,1) = Input
   Feld (9,2) = Input
   Feld (9,3) = Input
   Feld (9,4) = Input
   Feld (9,5) = Input
   Feld (9,6) = Input
   Feld (9,7) = Input
   Feld (9,8) = Input
   Feld (9,9) = Input
   

DrawImage Spielfeld, 0, 0, 0
DrawImage Spielfeld, 44, 0, 1
DrawImage Spielfeld, 88, 0, 2
DrawImage Spielfeld, 132, 0, 3
DrawImage Spielfeld, 176, 0, 4
DrawImage Spielfeld, 220, 0, 5
DrawImage Spielfeld, 264, 0, 6
DrawImage Spielfeld, 308, 0, 7
DrawImage Spielfeld, 352, 0, 8
DrawImage Spielfeld, 0, 44, 9
DrawImage Spielfeld, 44, 44, 10
DrawImage Spielfeld, 88, 44, 11
DrawImage Spielfeld, 132, 44, 12
DrawImage Spielfeld, 176, 44, 13
DrawImage Spielfeld, 220, 44, 14
DrawImage Spielfeld, 264, 44, 15
DrawImage Spielfeld, 308, 44, 16
DrawImage Spielfeld, 352, 44, 17
DrawImage Spielfeld, 0, 88, 18
DrawImage Spielfeld, 44, 88, 19
DrawImage Spielfeld, 88, 88, 20
DrawImage Spielfeld, 132, 88, 21
DrawImage Spielfeld, 176, 88, 22
DrawImage Spielfeld, 220, 88, 23
DrawImage Spielfeld, 264, 88, 24
DrawImage Spielfeld, 308, 88, 25
DrawImage Spielfeld, 352, 88, 26
DrawImage Spielfeld, 0, 132, 27
DrawImage Spielfeld, 44, 132, 28
DrawImage Spielfeld, 88, 132, 29
DrawImage Spielfeld, 132, 132, 30
DrawImage Spielfeld, 176, 132, 31
DrawImage Spielfeld, 220, 132, 32
DrawImage Spielfeld, 264, 132, 33
DrawImage Spielfeld, 308, 132, 34
DrawImage Spielfeld, 352, 132, 35
DrawImage Spielfeld, 0, 176, 36
DrawImage Spielfeld, 44, 176, 37
DrawImage Spielfeld, 88, 176, 38
DrawImage Spielfeld, 132, 176, 39
DrawImage Spielfeld, 176, 176, 40
DrawImage Spielfeld, 220, 176, 41
DrawImage Spielfeld, 264, 176, 42
DrawImage Spielfeld, 308, 176, 43
DrawImage Spielfeld, 352, 176, 44
DrawImage Spielfeld, 0, 220, 45
DrawImage Spielfeld, 44, 220, 46
DrawImage Spielfeld, 88, 220, 47
DrawImage Spielfeld, 132, 220, 48
DrawImage Spielfeld, 176, 220, 49
DrawImage Spielfeld, 220, 220, 50
DrawImage Spielfeld, 264, 220, 51
DrawImage Spielfeld, 308, 220, 52
DrawImage Spielfeld, 352, 220, 53
DrawImage Spielfeld, 0, 264, 54
DrawImage Spielfeld, 44, 264, 55
DrawImage Spielfeld, 88, 264, 56
DrawImage Spielfeld, 132, 264, 57
DrawImage Spielfeld, 176, 264, 58
DrawImage Spielfeld, 220, 264, 59
DrawImage Spielfeld, 264, 264, 60
DrawImage Spielfeld, 308, 264, 61
DrawImage Spielfeld, 352, 264, 62
DrawImage Spielfeld, 0, 308, 63
DrawImage Spielfeld, 44, 308, 64
DrawImage Spielfeld, 88, 308, 65
DrawImage Spielfeld, 132, 308, 66
DrawImage Spielfeld, 176, 308, 67
DrawImage Spielfeld, 220, 308, 68
DrawImage Spielfeld, 264, 308, 69
DrawImage Spielfeld, 308, 308, 70
DrawImage Spielfeld, 352, 308, 71
DrawImage Spielfeld, 0, 352, 72
DrawImage Spielfeld, 44, 352, 73
DrawImage Spielfeld, 88, 352, 74
DrawImage Spielfeld, 132, 352, 75
DrawImage Spielfeld, 176, 352, 76
DrawImage Spielfeld, 220, 352, 77
DrawImage Spielfeld, 264, 352, 78
DrawImage Spielfeld, 308, 352, 79
DrawImage Spielfeld, 352, 352, 80
   
   
Dim Feld1 (3,3)
   Feld1 (1,1) = Zahl_1
   Feld1 (1,2) = Zahl_2
   Feld1 (1,3) = Zahl_3
   Feld1 (2,1) = Zahl_4
   Feld1 (2,2) = Zahl_5
   Feld1 (2,3) = Zahl_6
   Feld1 (3,1) = Zahl_7
   Feld1 (3,2) = Zahl_8
   Feld1 (3,3) = Zahl_9


DrawImage Zahlenfeld, 467, 267, 0
DrawImage Zahlenfeld, 511, 267, 1
DrawImage Zahlenfeld, 555, 267, 2
DrawImage Zahlenfeld, 467, 311, 3
DrawImage Zahlenfeld, 511, 311, 4
DrawImage Zahlenfeld, 555, 311, 5
DrawImage Zahlenfeld, 467, 355, 6
DrawImage Zahlenfeld, 511, 355, 7
DrawImage Zahlenfeld, 555, 355, 8


   Maus_x = MouseX()
   Maus_y = MouseY()
   DrawImage Maus, 0 + Maus_x, 0 + Maus_y
   Flip
   
   
If ImagesCollide(Maus, MouseX(), MouseY(), 0, Spielfeld, 0, 0, 0) Then Color 0, 0, 0 Text MouseX, MouseY, "Koolision"


Until KeyHit(1)




Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

BladeRunner

Moderator

BeitragSo, Okt 14, 2007 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Du hast in deiner Hauptschleifende Dutzende von inputs, was erwartest Du? Der Rechner ist voll damit beschäftigt auf Eingaben zu warten, der aktualisiert sicher keine Maus mehr.

Selbiges gilt auch für Kollisionen etc.
Die Inputs sind - ab von der Tatsache dass Du hier Zig Codezeilen mit einer einfachen for-next hättest sparen können- absolute Programmkiller und ihr Sinn erschliesst sich mir auch nicht.
Input pausiert das Programm solange bis eine Eingabe erfolgt ist.
In deinem Fall müssen viele Eingaben erfolgen bis mal kurz was passiert. Um dann weiter viele Eingaben zu machen.
Es würde reichen wenn du 'Zeile für Zeile durch deinen Code gehst und dir überlegst was dein Programm macht. Oder besser noch: schau es Dir einfach im Debugger an ( ql:stop ), dann verstehst Du vielleicht was ich meine.

Dein Code ist so - und das ist höflich formuliert- unbrauchbar. Du solltest komplett von vorn beginnen.
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ich dachte die for next schleifen würden nur bei regelmäßigen parametern funktionieren. weil ich bei mir ja drei verschieden haben. also für jeden parameter eine for next schlefe hmm... ist ganzschöne einsparung von schreibzeit.
das input muss ja sein weil der spieler in die 81 felder eine zahl eingeben muss.
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

The_Nici

BeitragSo, Okt 14, 2007 20:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Input muss nicht sein, Für was gibt es Eingaberoutinen...
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
eingaberoutinen?
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.

The_Nici

BeitragSo, Okt 14, 2007 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss ehrlich gesagt mich beherrschen, jetzt nicht einen CAPSLOCK-Post zu schreiben, mit Flames etc.
Für was gibt es eine Suchfunktion???????????????!!!!!!!!!! -________-

Ich erklärs dir mal, aber das letzte Mal erklär ich dir was.

Eine Eingaberoutine ist ein selbstgeproggtes Input. Mit Getkey() speichert man die gedrückte Taste. da es aber nicht die ASCII-Zeichen aufnimmt, mach man mit Chr() diese zu Strings.
Also:
Code: [AUSKLAPPEN]

a=Getkey()
b$=chr(a)
c$=c$+b$

Jetzt ist a die gedrückte Taste, sie wird zum String b und danach zur ganzen Eingabe c.
Das ganze natürlich in einer Schleife. Etwa:
Code: [AUSKLAPPEN]

While not Keyhit(28)
         a=getkey()
         b$=chr(a)
         c$=c$+b$
Wend
Print c$
c$=""

Jetzt kann man irgendendwas eingeben, und wenn man Enter drückt sieht man es. Tada...

EDIT: So, ein Funktionsfähiger Code für den Herr, weil er ja so gerne Kopiert.

Code: [AUSKLAPPEN]

Graphics 800,600,0,2
SetBuffer BackBuffer()
While Not KeyHit(28)
   a=GetKey()
   If a<>0 Then
      b$=Chr(a)
      c$=c$+b$
   EndIf
   Text 0,0,c$
   Flip
   Cls
Wend
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
mit den for next schleifen, würde z.B. sowas funktionieren? kanns grad nicht asuprobieren bin nicht bei mir am PC.
Code: [AUSKLAPPEN]
For i = 1.1 To 9.9 Step 0.1
   For Spielfeld1 = 44 To 352 Step 44
      For Spielfeld2 = 0 To 352 Step 44
         For Spielfeld3 = 0 To 80 Step 1
         DrawImage Spielfeld1, Spielfeld2, Spielfeld3
         Next
      Next
   Next
Next
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.
 

Takashi Kenshin

BeitragSo, Okt 14, 2007 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich hätte das erste mal so gelöst also das die felde angezeigt werden.
bei dem großen feld funktionierts. aber das kleine feld wird nicht angezeigt. warum???
Code: [AUSKLAPPEN]
AppTitle "Takashi Sodoku"


Graphics 600, 400, 32, 2
ClsColor 130, 0, 0
Cls
SetBuffer BackBuffer()


Global Spielfeld = LoadAnimImage ("Sodoku.bmp", 44, 44, 0, 81)
Global Zahlenfeld = LoadAnimImage ("Zahlenfeld.bmp", 44, 44, 0, 9)


j = 0
For i = 0 To 352 Step 44
   For i2 = 0 To 352 Step 44
      DrawImage Spielfeld, i2, i, j
      j = j + 1
   Next
Next


g = 0
For h = 467 To 555 Step 44
   For h2 = 267 To 355 Step 44
      DrawImage Zahlenfeld, h2, h, g
      g = g + 1
   Next
Next

WaitKey
Das Exponenzielle Volumen subterraner Agrarprodukte, steht in reziproker Relation zur geistigen Kapazität des kultivierenden Agronoms. Oder Kurz gesagt: Der dümmste Bauer hat die dicksten Kartoffeln.
  • Zuletzt bearbeitet von Takashi Kenshin am So, Okt 14, 2007 22:03, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragSo, Okt 14, 2007 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Weg für die Eingabe als solches ist falsch. Nicht alle Felder ständig abfragen sondern prüfen ob der Spieler eines anwählt und dort dann abfragen wäre der richtige Weg. Denn woher soll dein Programm denn wissen in welches Feld grade eingegeben werden soll.
Wenn da ein Input steht wird es abgearbeitet, nicht mehr, nicht weniger. Also mach eine sinnvolle Auswahl wo eine Eingabe hingeht.
Und input ist wirklich nicht toll, grade da es das Programm stoppt. Eingaberoutinen die input ersetzen sind im Codearchiv zu finden.
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
 

Takashi Kenshin

BeitragMo, Okt 15, 2007 6:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab jetzt erstmal die felder zeichnen lassen das sieht jetzt so aus:

[img][img=http://img87.imageshack.us/img87/1940/feldyl4.th.jpg][/img]

warum sieht jetzt das rechte feld so verkrüppelt aus? hab beide felder mit dem selben code geschrieben, nur andere varibale und parameter.

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group