Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 03:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Canvas Halbkreis mit Maus bewegen

Discussion on Canvas Halbkreis mit Maus bewegen within the Web Development forum part of the Coders Den category.

Reply
 
Old 05/26/2015, 19:28   #16
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
@OP
Ich sage jetzt nicht das ich das was du da genau realisieren willst zu 100% kapiert habe (mit Heizung usw o_o) aber ich kann dir bei deinem Problem helfen.

folgendes:

1) Definiere deine Knöpfe / Drehschalter als Objekte und speichere dir dort Dinge wie Koordinaten, Dreh-Stellung usw als Variable rein.

2) Baue dir Events in dein Javascript damit du Die Mouse-Events abfangen kannst.
Beispielweise "Klickt jemand den linken Mausknopf?Falls ja - welche Koordinaten?" etc.
Dabei solltest du drauf achten das du die Canvas-Koords aus den Koordinaten des klicks rausrechnen musst da du sonst ca. 200px weiter Rechts den Klick registrierst obwohl er wo anders war.

Beispielcode womit das geht:

Code:
var x = e.pageX;
var y = e.pageY;
 
var canvas = document.getElementById("ID_DEINES_CANVAS");
x -= canvas.offsetLeft;
y -= canvas.offsetTop;
Dann brauchst du sogesehen nur noch die Entfernung zwischen dem Klick X,Y und dem Objekt X,Y checken um zu wissen "hat er auf xyz geklickt?". Zumindestens sofern du vom 0-Punkt des jeweiligen Objektes ausgehen willst.

3) Nun baue dir die Logik der Buttons, Drehschalter halt in Javascript nach.
Beispielweise bastel dir eine Funktion die die Dreh-Einstellung des Drehschalters von 20 auf 100 stellt. Oder ne Funktion womit du +10 oder -10 machen kannst etc.
Die Funktion trägt den Wert jeweils dann immer in das richtige Objekt rein.

4) Bastel dir ein "Gameloop" - quasi ein Loop der wie ne while(true){} läuft, und baue dort dein Rendering der Knöpfe usw rein. Das Renderung der Knöpfe (ausrichtung, x y position etc) machst du dann von deinen Objekten abhängig. Veränderst du nun mit deinen in 3) beschriebenen Funktionen die Objekte, verändert sich automatisch das was gerendert wird und deine Knöpfe "drehen sich"

Solltest du noch fragen haben.. ruhig fragen.

p.s: Kreis zeichnen geht auch einfacher innerhalb der Main-Function wenn du dir dafür ne eigene Kreis Funktion baust die du nur aufrufen musst. Beispiel dafür ->

Code:
function Kreis(x, y, r)
{
 var canvas = document.getElementById('DEINE_CANVAS_ID');
 var ctx = canvas.getContext("2d");
 
 ctx.fillStyle= "rgb(0,255,0)"; //Die gewünschte Farbe
 ctx.beginPath();
 ctx.arc(x,y,r,0,2*Math.PI);
 ctx.fill();
 ctx.closePath();
}
Habe dir hier mal ein kleines Beispiel wie ich das mit den Klicks usw meine -> Not Online Anymore <- Klickst du dort mit deiner Maus wo hin, wird ein Objekt hinzugefügt & das Rendering der Objekte wird verändert (es ist ein zusätzliches "neuron" vorhanden").
Hintergrund zum Beispiel -> Wollte damit ein Neuronales Netzwerk nachstellen mit Animationen der Aktivität des Netzwerkes usw.. passte aber so schön zum Thread hier..^^


grüße
Crossside is offline  
Old 05/27/2015, 15:42   #17

 
Mr.Tr33's Avatar
 
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
Bei deinem Beispiellink werde ich auf ein falschen epvp Link weitergeleitet
Mr.Tr33 is offline  
Old 05/27/2015, 21:04   #18
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
Quote:
Originally Posted by Mr.Tr33 View Post
Bei deinem Beispiellink werde ich auf ein falschen epvp Link weitergeleitet
Oh, Sorry - hatte gestern meine Domain umgestellt und hatte vergessen es zu korrigieren

Ich upps dir mal eben mom ->

Da hast dann gleich auch den Sourcecode mit bei und kannst es Lokal testen.

Tipp: Im Firefox scheint es bei mir zu lagen, im Chrome klappts dann aber besser. Liegt wohl an meinem Crappy Laptop aber falls es bei dir im Firefox hängen sollte.. im chrome sollte es gehen^^
Crossside is offline  
Old 05/27/2015, 23:33   #19

 
Mr.Tr33's Avatar
 
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
Öhm weiß nicht was du mir mit deinem Beispiel zeigen wolltest.
Eine Schleife brauche ich eig. auch nicht. Kann problemlos Klicks etc. abfangen und mit denen arbeiten. Das ganze zusammen zu basteln ist nur etwas Aufwand
Mr.Tr33 is offline  
Reply


Similar Threads Similar Threads
[VB.NET]Simples Maus bewegen
08/12/2013 - .NET Languages - 1 Replies
EDIT: Sorry. Ich hab zu wenig schlaf um auf Cursor.Pos = New Point() zu kommen. Hier kann geclosed werden.
Maus instant bewegen
07/03/2013 - AutoIt - 2 Replies
Hallo bei dem command MouseClick habe ich den speed auf 0 gestellt aber es ist mir immer noch zu langsam kann man es nicht irgendwie machen das es wirklich nur 1 Milisekude geht die maus zu bewegen ?
Maus bewegen?
11/29/2011 - AutoIt - 2 Replies
Hallo Leute, ich habe heute zum Ersten mal AutoIt verwendet und zwar um ein winziges Programm zu machen. Da ich mich erst kurze Zeit mit AutoIt beschäftigt habe, habe ich eine Frage. Und zwar will ich ein Programm öffnen und in dem Programm muss auf einen bestimmten Button doppelt gedrückt werden. Das Programm öffnen funktioniert bis jetzt, aber wie mache ich, dass AutoIt zu einem Button fährt und doppelt auf ihn drückt? lg OL!VER
Maus aus fenster bewegen
05/06/2011 - League of Legends - 15 Replies
hallo leute kennt jemand ein programm / trick egal was damit ich die maus aus dem LOL fenster bewegen kann ?? kenne 2 möglichkeiten 1. Task manager (dauert zu lange) 2. Alt+tab (aber kann nur die offenen fenster auswählen) bitte um hilfe nervt total da ich kein lied weiter machen kann oder schnell ein guide nach schauen !
vb 8 Maus bewegen lassen?
07/04/2010 - .NET Languages - 4 Replies
Wie schon in der Überschrift kann ich mit Visual Basic 2008 meine Maus bewegen lassen?



All times are GMT +1. The time now is 03:22.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.