Kleines Darstellungsproblem....
Übersicht

Blitzkrieg BopBetreff: Kleines Darstellungsproblem.... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Also, ich will folgendes erreichen: Wenn der Mauszeiger uaf ein Bild klickt,soll dieses bild nochmal gezeichnet werden und zwar mit den maus koordinaten, damit man das neue bild zu einem plkatz bewegen kann. Ist man nun an diesem Platz, und hier tritt das Prob auf, soll man, bei tastendruck das bild auf die aktuellen x,y koordinaten legen. [/code] |
||
~ Hey Ho Let's Go ~ |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
![]() ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du sowas:
Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() AppTitle "Programm" pos_X = 100 pos_Y = 100 While Not KeyHit(1) Cls Rect pos_X,pos_Y,100,100,1 Select wahl Case 0 If RectsOverlap(MouseX(),MouseY(),1,1,pos_X,pos_Y,100,100) Then If MouseHit(1) Then wahl = 1 m_x = MouseX()-pos_X m_y = MouseY()-pos_Y EndIf EndIf Case 1 pos_X = MouseX()-m_x pos_Y = MouseY()-m_y If MouseHit(1) Then wahl = 0 End Select Flip Wend End |
||
aktuelles Projekt: The last day of human being |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] mh=MouseHit(1)
If mh And Maus_auf_Bild Then bild_drive=1-bild_drive correctx=MouseX()-bildx correcty=Mousey()-bildy EndIf If bild_drive bildx=MouseX()-correctx bildy=MouseY()-correcty EndIf Edit: Tja, mal wieder zu lahm ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Fast!
Das Bild was ma Anfang da ist, soll auch weiter hin an sienem Platz sein, und ein zweites Bild wird dann an die neue Poition gemalt |
||
~ Hey Ho Let's Go ~ |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Dann erstell mit CopyImage einfach ne Kopie vom alten Bild Code: [AUSKLAPPEN] Graphics 800, 600, 32 SetBuffer BackBuffer() Global Image = LoadImage( "Image.tga" ) Global bDragging = False Global XPos, YPos, CXPos, CYPos While Not KeyHit( 1 ) DrawImage Image, 0, 0 If ( MouseDown( 1 ) ) If ( RectsOverlap( MouseX(), MouseY(), 1, 1, XPos, YPos, ImageWidth( Image ), ImageHeight( Image ) ) ) Then bDragging = True CXPos = MouseX() - XPos CYPos = MouseY() - YPos NewImage = CopyImage( Image ) End If Else bDragging = False End If If ( bDragging ) XPos = MouseX() - CXPos YPos = MouseY() - CYPos End If If ( NewImage ) DrawImage( NewImage, XPos, YPos ) End If Flip() Cls() Wend End So im prinzip. Ist allerdings noch an allen Ecken und Enden verbesserungsbedüftig. ![]() grüße |
||
- Zuletzt bearbeitet von David am Fr, Apr 09, 2004 23:16, insgesamt einmal bearbeitet
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
na toll.....aber man soll soviele bilder aus dem bild ma anfang kriegen, wie man will....quasi wie ine inem editor, wenn man ein tile auswählt, das man soviele malen kann, wie man will | ||
~ Hey Ho Let's Go ~ |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Na toll, dann schlag ich vor das du halt mal selbst denkst ja? Anhaltspunkte hast du ja nun. Deshalb programmiert man ja auch um etwas kreativ zu sein! grüße |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Type-Tut wär dann wohl hilfreich ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
JUHU!!!
Meinst du echt es geht gut mit Types? Weil Types kann ich 1a... Wie genau hast du dir das vorgestellt? |
||
~ Hey Ho Let's Go ~ |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
So?
Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() anz = 100 ; Anzahl der Rects Dim posX(anz),posY(anz),col(anz) posX(0) = 270 posY(0) = 190 col(0) = Rnd(100,255) While Not KeyHit(1) Cls For I = 0 To array Color col(I),col(I),col(I) Rect posX(I),posY(I),100,100,1 Next Select wahl Case 0 For I = 0 To array If RectsOverlap(MouseX(),MouseY(),1,1,posX(I),posY(I),100,100) Then If MouseHit(1) Then wahl = 1 array = array + 1 col(array) = Rnd(100,255) xm = MouseX()-posX(I) ym = MouseY()-posY(I) EndIf EndIf Next Case 1 posX(array) = MouseX()-xm posY(array) = MouseY()-ym If MouseHit(1) Then wahl = 0 End Select Flip Wend End |
||
aktuelles Projekt: The last day of human being |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja, so in etwa, nur das sich die farbe ändert ist komisch ![]() und warum ist oben links immer osn ding am aufblinken? |
||
~ Hey Ho Let's Go ~ |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dass sich die Farbe ändert hab ich extra gemacht (sieht man besser).
Das blinkende Ding ist nur da, weil für einen, kurzen Schleifendurchgang der Wert von posX(x) und posY(x) noch null ist. |
||
aktuelles Projekt: The last day of human being |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kleine Verbesserung:
Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() AppTitle "Darstellung" anz = 100 ; Anzahl der Rects Dim posX(anz),posY(anz),col(anz) posX(0) = 270 posY(0) = 190 col(0) = Rnd(100,255) While Not KeyHit(1) Cls If wahl = 1 Then posX(array) = MouseX()-xm posY(array) = MouseY()-ym If MouseHit(1) Then wahl = 0 EndIf For I = 0 To array Color col(I),col(I),col(I) Rect posX(I),posY(I),100,100,1 Next If wahl = 0 Then For I = 0 To array If RectsOverlap(MouseX(),MouseY(),1,1,posX(I),posY(I),100,100) Then If MouseHit(1) Then wahl = 1 array = array + 1 col(array) = Rnd(100,255) xm = MouseX()-posX(I) ym = MouseY()-posY(I) EndIf EndIf Next EndIf Flip Wend End |
||
aktuelles Projekt: The last day of human being |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group