Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
0 registered members (), 18,008 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Linie zeichnen #412589
11/29/12 16:54
11/29/12 16:54
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
Hi da draussen,
ich scheiter wieder mal an den einfachsten Dingen
ich möchte eine linie zeichnen. der anfang soll soll mit dem linkklick gesetst werden das Ende mit rechtsklick.
via draw_line scheint das recht einfach zu sein. laut Handbuch muss nur der COLOR-Wert mit NULL angegeben sein.
Zitat:
Ist NULL gegeben, wird keine Linie gezeichnet, die Position zum Start der nächsten Linie wird aber gesetzt.
Und genau das möchte ich. Leider wird schon mit dem 1. Klick eine linie von 0,0 zur Mausposition gezeichnet.
Hier mal mein Code:

function zeichnen()
{
while(1)
{
if(mouse_left == 1)
{

pos_1_x = mouse_cursor.x ;
pos_1_y = mouse_cursor.y;
}
if(mouse_right == 1)
{

pos_2_x = mouse_cursor.x ;
pos_2_y = mouse_cursor.y;
}
wait(1);
}
}

function draw_red_rect()
{ while(1)
{
draw_line(vector(pos_1_x,pos_1_y,0),NULL,100); // move to first corner
draw_line(vector(pos_2_x,pos_2_y,0),vector(0,0,255),100);

wait(1);
}
}

Egal mit welcher Taste ich dann weiterklicke es wird eine Linie nach der anderen gezeichnet und die vorhergegangen ist weg. Die Linie soll mir aber erhalten bleiben.

Re: Linie zeichnen [Re: Icke] #412594
11/29/12 17:40
11/29/12 17:40
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline
Member
Ascalon  Offline
Member

Joined: Apr 2005
Posts: 274
austria
naja du setzt ja mit jedem links- bzw rechts-clicks neue positionen von wo aus gezeichnet werden soll. du willst aber eine "kette" an linie zeichnen, oder ?


my webside : www.ascalon.jimdo.de
Re: Linie zeichnen [Re: Ascalon] #412595
11/29/12 17:58
11/29/12 17:58
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

Joined: Feb 2005
Posts: 3,687
Hessen, Germany
Du musst dir schon merken, wo du Linien gezeichnet hast. wink Mit draw_line gezeichnete Linien sind nur 1 Frame gültig (danach sind sie wieder weg). D.h. speichere dir (in einem Array z.B.) die Endpunkte der Linien und durchlaufe dieses Array in der while(1) mit draw_line - zusätzlich zu deinem jetzigen Code.
Hinzufügen zum Array tust du immer einen End-Punkt wenn du klickst (die "aktuelle" Linie).

Schaffst du wink

Re: Linie zeichnen [Re: Tempelbauer] #412625
11/30/12 07:26
11/30/12 07:26
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
hab es jetzt wie folgt gemach

function linie_zeichnen()
{ while(1)
{
draw_text("Test!",position[0],position[1],vector(farbe[0],farbe[1],farbe[2]));
wait(1);
}
}

function mouse_anzeige() // zeigt die Maus
{
mouse_map = Curser_bmp;
mouse_mode = 2;

while (mouse_mode > 0)
{
mouse_pos.x = mouse_cursor.x - 7;
mouse_pos.y = mouse_cursor.y - 7;

if(mouse_left == 1 )
{

position[0] = mouse_pos.x;
position[1] = mouse_pos.y;
position[2] = 0;
farbe[0] = 255;
farbe[1] = 255;
farbe[2] = 255;
linie_zeichnen();
set_1or2 = 2;
}
if(mouse_right == 1)
{

position[0] = mouse_pos.x;
position[1] = mouse_pos.y;
position[2] = 0;
farbe[0] = 0;
farbe[1] = 0;
farbe[2] = 255;
linie_zeichnen();
set_1or2 = 1;
}

wait(1);
}
}

den draw_text habe ich zur Kontrolle eingefügt. der Text funktioniert(bei rechtsklick nicht da, bei links in rot) nur die linie will nicht erscheinen.
Irgedwer noch ne Idee

Re: Linie zeichnen [Re: Icke] #412628
11/30/12 09:10
11/30/12 09:10
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
schuldigung
sollte so sein

function linie_zeichnen()
{ while(1)
{
draw_line(vector(position[0],position[1],0),vector(farbe[0],
farbe[1],farbe[2]),100);
draw_text("Test!",position[0],position[1],vector(farbe[0],farbe[1],
farbe[2]));
wait(1);
}
}

es wird jetzt zwar eine Linie gezeichnet aber nur für eine sec.(kann auch weniger sein)
diese sollte doch aber durch die Schleife bestehen bleiben.
Ausserdem möchte ich das der Strich, wie z.B. in Paint, stehen bleibt um anschliessend etwas neues zeichnen zu können.

Re: Linie zeichnen [Re: Icke] #412629
11/30/12 09:44
11/30/12 09:44
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

Joined: Feb 2005
Posts: 3,687
Hessen, Germany
du meinst sicher sowas hier, nur dass man mehrere linien zeichnen kann:
Code:
var start[2];
var end[2];

function drawline_sample_startup() 
{ 
	mouse_mode = 4;
	int draw = 0;
	while (1) 
	{ 
		draw_line (start,vector(0,0,255),100);
		draw_line (end,vector(0,0,255),100);
		
		if (mouse_left == 1)
		{
			start[0] = mouse_pos.x;
			start[1] = mouse_pos.y;			
			draw=1;
		}

		if (draw == 1)
		{
			end[0] = mouse_pos.x;
			end[1] = mouse_pos.y;	
			
			if (mouse_right == 1)	
			{
				draw=0;			
			}
		}
		wait (1);
	}
}



dazu musst du den code leicht modifizieren: du erzeugst eine Liste vor Eintritt in die while. In der mouse_right==1 Verzweigung fügst du einen neuen Eintrag in die Liste ein (der die Start und Endpunkte der aktuellen Linie enthält). Und damit du die bisherigen Linien anzeigen kannst, muss du nur die Liste durchlaufen und mit draw_line die gespeicherten Positionen zeichnen.

Re: Linie zeichnen [Re: Tempelbauer] #412636
11/30/12 11:29
11/30/12 11:29
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
da hab ich doch gleich noch zwei Fragen
1. was ist mouse_mode = 4
2. währe hier file_var_write das richtige Mittel zum Zweck?

Re: Linie zeichnen [Re: Icke] #412642
11/30/12 12:43
11/30/12 12:43
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Also unter mouse_mode steht in der Anleitung: "4 - Mauszeiger sichtbar und automatisch bewegt, Mausklicks werden verarbeitet und mouse_force-Variable wird nicht verändert."

Und was haben file_-Anweisung mit deiner Linie zutun? Gar nichts?

Re: Linie zeichnen [Re: HeelX] #412646
11/30/12 13:12
11/30/12 13:12
Joined: Feb 2006
Posts: 212
Germany
Icke Offline OP
Member
Icke  Offline OP
Member

Joined: Feb 2006
Posts: 212
Germany
bitte haltet mich nicht für zu blöde um im Handbuch zu lesen aber bei mir steht folgendes:
0 - kein Mauszeiger(default) mouse_force-Variable wird mit der Mausbewegung verändert.
1 - Mauszeiger sichtbar, Mausklicks werden verarbeitet und mouse_force-Variable wird mit der Mausbewegung verändert.
2 - Mauszeiger sichtbar, Mausklicks werden verarbeitet und mouse_force-Variable wird nicht verändert
ein Punkt 4 gibt es bei mir nicht
habe ich vieleich nicht das richtige Handbuch o. ein veraltertes?

Re: Linie zeichnen [Re: Icke] #412647
11/30/12 13:30
11/30/12 13:30
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Quote:
[...]o. ein veraltertes?
scheinbar ja tongue


POTATO-MAN saves the day! - Random
Page 1 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1