männchen mit maus bewegen!!(c++)
-
hi leute!
ich wollte mal fragen ob es sehr schwer ist bei c++ folgendes zu programieren:wir wollten ein männchen in einem raum haben (strich mänchen reicht!) und dieses sollte sich genau wie die maus bewegen!
d.h. "maus vor - männchen vor",
"maus rechts - männchen rechts" usw.und wenn man z.b. die rechte maus taste 8mal gedrückt hat sollte er sich 1 mal (180°) gedreht haben! genaus bei der liken taste!
(also pro klick in die jeweilige richtung 22,5°)danke für alle antworten!
mfg bomba
-
Nein is nicht schwer.
Du brauchst nur eine Funktion, die das Männchen in beliebiger Position zeichenen kann, eine um die Mausposition abzufragen und eine um Klicks abzufragen.
Dann Zeichnest du das Männchen jedes Frame an der Mausposition neu (bitte vorher das alte löschen). Wenn geklickt wurde, addierst du zum Drehwinkel 90°. Ausserdem baust du ein winkel = winkel % (2*PI) ein um zu verhindern, das der Winkel immer größer wird.
Das wärs schon wieder.
-
Das ist einfach. Nur worein zeichnen?
-
In den Speicherbereich, den die Graphikkarte ausliest um mittels RAMDAC ein analoges Signal für den Monitor bereitzustellen.
Wenn dus einfacher haben willst, nimm APIs wie DirectDraw (oder neuer: DirectGraphics), SDL, ClanLib (mit HW Beschleunigung), ...
-
ChockoCookie schrieb:
Nein is nicht schwer.
Du brauchst nur eine Funktion, die das Männchen in beliebiger Position zeichenen kann, eine um die Mausposition abzufragen und eine um Klicks abzufragen.summasummarum drei funktionen. das is richtig, abgesehen vom programm ringsherum
allein die initialisierung von directx...ohjemine. dann noch das gerüst, also ne standard-win32 oder sowas. und raum klingt auch schon so nach 3d. owe.
na egal....will keine illusionen zerstören.
gruß
-
ethereal schrieb:
ChockoCookie schrieb:
Nein is nicht schwer.
Du brauchst nur eine Funktion, die das Männchen in beliebiger Position zeichenen kann, eine um die Mausposition abzufragen und eine um Klicks abzufragen.summasummarum drei funktionen. das is richtig, abgesehen vom programm ringsherum
allein die initialisierung von directx...ohjemine. dann noch das gerüst, also ne standard-win32 oder sowas. und raum klingt auch schon so nach 3d. owe.
na egal....will keine illusionen zerstören.
grußNaja, wenn du den Weg auf Knien rutschen willst, dann kannst du das natürlich mit DirectX oder so machen. Es gibt aber zahlreiche libraries, die einem den ganz müseligen kram abnehmen. Clanlib geht glaube ich in die Richtung, aber da gibt es noch mehr.
-
kingruedi schrieb:
ethereal schrieb:
ChockoCookie schrieb:
Nein is nicht schwer.
Du brauchst nur eine Funktion, die das Männchen in beliebiger Position zeichenen kann, eine um die Mausposition abzufragen und eine um Klicks abzufragen.summasummarum drei funktionen. das is richtig, abgesehen vom programm ringsherum
allein die initialisierung von directx...ohjemine. dann noch das gerüst, also ne standard-win32 oder sowas. und raum klingt auch schon so nach 3d. owe.
na egal....will keine illusionen zerstören.
grußNaja, wenn du den Weg auf Knien rutschen willst, dann kannst du das natürlich mit DirectX oder so machen. Es gibt aber zahlreiche libraries, die einem den ganz müseligen kram abnehmen. Clanlib geht glaube ich in die Richtung, aber da gibt es noch mehr.
Das erste mal rutscht man vielleicht auf den Knieen. Wenn man sich da aber gleich die Klassen entsprechend einrichtet ...
-
Und wofür lohnt sich der Aufwand? So etwas direkt zu machen ist natürlich wichtig, wenn man sich in das Thema einarbeiten will, da man einige Dinge besser durchschaut. Aber zunächst bremst und demotiviert so etwas.
-
ethereal schrieb:
ChockoCookie schrieb:
Nein is nicht schwer.
Du brauchst nur eine Funktion, die das Männchen in beliebiger Position zeichenen kann, eine um die Mausposition abzufragen und eine um Klicks abzufragen.summasummarum drei funktionen. das is richtig, abgesehen vom programm ringsherum
allein die initialisierung von directx...ohjemine. dann noch das gerüst, also ne standard-win32 oder sowas. und raum klingt auch schon so nach 3d. owe.
na egal....will keine illusionen zerstören.
grußDa kann ich nur zustimmen. Der initialisierungscode von DirectX ist nicht gerade einfach(finde ich). Seit kurzem hab ich mich SDL gewidmet....der initialisierungscode ist kinderleicht und alles andere auch...
-
Gerade die SDL ist doch sehr low level.
-
In Allegro geht es auch ziemlich einfach mit vergleichsweise wenig Aufwand.