Frage zu Windowsmausviereck

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

dimaster

Betreff: Frage zu Windowsmausviereck

BeitragSo, März 07, 2004 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe ein rpg spiel programmiert so besonders schwer ists nicht.Ich habe einfach mühe bei den Grafiken.Ich möchte das wenn ich die Maustaste gedrückt halte das dann so ein markirungs viereck entsteht.
Kann mir jemand so was mal erklähren?? Very Happy
Mit dem programmieren sonst hab ich nicht keine Probleme. 8)




_____________________________________________________________

Witerführung von "Suchstrategiespieltut.......>
  • Zuletzt bearbeitet von dimaster am So, März 07, 2004 17:06, insgesamt 2-mal bearbeitet

dimaster

BeitragSo, März 07, 2004 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es gute Grafiker unter euch könnt ihr mir vieleicht ein römischen Krieger als .bmp machen er sollte gehen und mit dem Schwert kämpfen können.brauche ihn für ein Strategiespiel.Very Happy
  • Zuletzt bearbeitet von dimaster am So, März 07, 2004 17:04, insgesamt einmal bearbeitet

soli

BeitragSo, März 07, 2004 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Überschrift dieses Thread ist Käse.

.......

Wenn du so ein Viereck meinst, wie es zum Beispiel bei Windows auf dem Desktop beim ziehen der Maus erzeugt wird.

Zeichne einfach eine unausgefülltes Rechteck
von dem Punkt an wo du geklickt hast bis
zur aktuellen Mauskoordinate.


soli
solitaire

Michi1988

BeitragSo, März 07, 2004 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja wenn du so was suchst ist der Michi dein Retter in der
Not. Nur die Abfrage musst du selbst hinbekommen.

If MouseHit(1) Then
oldmousex=MouseX()
oldmousey=MouseY()
End If

If MouseDown(1) Then
If MouseX()>=oldmousex Then
Rect oldmousex,oldmousey,MouseX()-oldmousex,MouseY()-oldmousey,0
End If
If MouseY()<=oldmousey Then
Rect oldmousex,MouseY(),MouseX()-oldmousex,oldmousey-MouseY(),0
End If
If MouseX()<=oldmousex And MouseY()<=oldmousey Then
Rect MouseX(),MouseY(),oldmousex-MouseX(),oldmousey-MouseY(),0
End If
If MouseX()<=oldmousex And MouseY()>=oldmousey Then
Rect MouseX(),oldmousey,oldmousex-MouseX(),MouseY()-oldmousey,0
End If
End If

Viel Spaß damit wünscht

Der Progger
-->BB4EVER<--

dimaster

BeitragSo, März 07, 2004 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
danke Very Happy

Michi1988

BeitragSo, März 07, 2004 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber gern doch

ChrisAttack

BeitragSo, März 07, 2004 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ne dumme frage:

Wie stellt man jetzt fest ob sich die grafik im viereck befindet?

(wenn jetzt die antwort kommt gibt es von mir bestimmt einen großen "Aha! Wusst ichs doch!" Effekt Very Happy )
B3D
MSVC++
DX9SDK

Mr.Keks

BeitragSo, März 07, 2004 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
einfach mal so ein copy&paste aus einer bereits bestehenden funktion -> vielleicht etwas komisch so alleine

Code: [AUSKLAPPEN]
direcx = 1
   direcy = 1
   cc_rectsx = oldmousex
   cc_rectsy = oldmousey

   If cc_rectsx < mx Then direcx = -1 Else direcx = 1
   If cc_rectsy < my Then direcy = -1 Else direcy = 1

   x = deine_einheit\x
   y = deine_einheit\y
   
   Select True
      Case direcx = 1 And direcy = 1
         If x > mx And x < cc_rectsx And y > my And y < cc_rectsy Then Return True
      Case direcx = -1 And direcy = 1
         If x < mx And x > cc_rectsx And y > my And y < cc_rectsy Then Return True
      Case direcx = 1 And direcy = -1
         If x > mx And x < cc_rectsx And y < my And y > cc_rectsy Then Return True
      Case direcx = -1 And direcy = -1
         If x < mx And x > cc_rectsx And y < my And y > cc_rectsy Then Return True
      Default: Return True
   End Select
edit: anmerkung: der code ist nicht von mir sondern wurde eigentlich von einem freund gecodet - eine codemacke von ihm ist z.b. dieses select true ^^
MrKeks.net
  • Zuletzt bearbeitet von Mr.Keks am So, März 07, 2004 21:14, insgesamt einmal bearbeitet

ChrisAttack

BeitragSo, März 07, 2004 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
OK, Aha-Effekt bleibt aus... Very Happy
B3D
MSVC++
DX9SDK

Michi1988

BeitragSo, März 07, 2004 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ChrisAttack hat Folgendes geschrieben:
OK, Aha-Effekt bleibt aus... Very Happy

Kann ich vertehen. Wie lange machst du schon BB?
Kannst doch einfach die Integer der CommandLine benutzen.
if x >=mousex()-oldmousex usw.

ChrisAttack

BeitragSo, März 07, 2004 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
mit 13 Jahren Angefangen, und mach es jetzt schon fast ein ganzen Jahr Surprised
B3D
MSVC++
DX9SDK
 

Edlothiol

BeitragSo, März 07, 2004 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Michi1988 hat Folgendes geschrieben:
Kannst doch einfach die Integer der CommandLine benutzen.
Soll man das jetzt verstehen? Ich tus nicht Confused

Michi1988

BeitragSo, März 07, 2004 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
8) Sollte wichtig klingen
is ja uch igall. Verbesser mich wenn ich mich irre.
Ein Integer ist ein Wert und eine Command Line ist wie im Programm ja bekannt eine bestimmte Reihe nach der man auch suchen kann.

Der Progger -->BB4EVER<--

ChrisAttack

BeitragSo, März 07, 2004 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn amn wichtig klingen will muss man auch was von seinem Handwerk verstehen! Very Happy

Warum sollte man jetzt nach einer Zahl suchen?
Und warum sucht man überhaupt?
Die commandLine gibt doch nur den Zusatzparmeter an, mit dem das Programm läuft, oder habe ich da was missverstanden?
B3D
MSVC++
DX9SDK

Michi1988

BeitragSo, März 07, 2004 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Verstehe was von meinem Handwerk. Hab schon 2 Spiele
zur Gamestar geschickt und waren auch drauf einmal 5. und
einmal 2. Crying or Very sad
Teilweise is da echt nur scheiße drauf.
Meine jetzt die x,y Koordinaten die er kopieren soll und dann einfach die Ecken des Rechteckes überprüfen.

rect 10(x1),10(y2),100(nachx),100(nachy)

if a >= x1 and a <= x1+nachy then
if b >= x2 and b <= y1+nachy then
delete speicher
end if
end if

Der progger

Michi1988

BeitragSo, März 07, 2004 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ChrisAttack hat Folgendes geschrieben:
Warum sollte man jetzt nach einer Zahl suchen?
Die commandLine gibt doch nur den Zusatzparmeter an, mit dem das Programm läuft, oder habe ich da was missverstanden?


Nein is schon ok dann hab ich was missverstanden.

Kommt einer aus der Umgebung Hannover oder so?

Der progger

ChrisAttack

BeitragSo, März 07, 2004 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaja, mir schon klar wie man so etwas anstellt, aber ich hätte es etwas anders gelöst als Inarie.
Nur was ist jetzt die CommandLine? Die ist doch zur Eingabe des Zusatztparmenter, oder?
B3D
MSVC++
DX9SDK

Michi1988

BeitragMo, März 08, 2004 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Stellt meine ganzen Dokmen jetzt aufn Kopp also nochma.
Was ist ein:

Parameter:
Koordinate:
CommandLine:
Integer:

Der Progger.

ChrisAttack

BeitragMo, März 08, 2004 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Parameter: Zusatzinformation
Interger: ganzer Zahlenwert (String: Zeichenkette; Float: Fließkommezahl)
CommandLine: hier gibt man den Zusatzparmeter ein mit dem das Programm läuft.
Koordiante: X und Y Koordinaten geben die Breite und die Höhe eines Bildes etc. an. Bei 3D fällt zusätzlich noch die Tiefenkoordinate z an.

Der Progger
B3D
MSVC++
DX9SDK
 

Edlothiol

BeitragMo, März 08, 2004 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Fast richtig. Nur dass Koordinaten keine Breite und Höhe, sondern Position im Raum angeben Wink
Die CommandLine ist also z.B. das:
>programm.exe -a -b -c
Parameter: Naja, normalerweise werden damit wohl die Eingangsvariablen einer Prozedur gemeint sein.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group