Objekt dreht sich zur Maus
Übersicht

shark95Betreff: Objekt dreht sich zur Maus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Ich möchte, dass sich ein Bild immer zur Maus dreht. Damit meine ich , dass sich das Bild immer so dreht, dass es zur Maus zeigt. Das ist ja nicht alzu schwer zu machen, doch was mir noch fehlt ist, ich möchte gerne,dass sich das Bild nicht sofort zur "Mausrichtung" dreht sondern mit einer bestimmten Geschwindigkeit. Hoffe mir kann jemand helfen GRuß |
||
Daniel Knobe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Musste mit Vektoren machen denke ich.
Schau dir das mal an, wie das jetzt geht weis ich auch nicht, lang net mehr gemacht. ![]() |
||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das könnte dir helfen. Ist zwar in B2D aber das Prinzip ist ja dasselbe.
https://www.blitzforum.de/view...ght=drehen Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
shark95 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke für die antworten. Das mit der MAusverfolgung hab ich schon doch mir fehlt noch das mit der Geschwindigkeit | ||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zeig mal den Code oder die wichtigen Ausschnitte, denn je nachdem wie du das gelöst hast muss man das anders einbauen ![]() Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
shark95 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: xdiff = MouseX()-xObjekt ydiff = MouseY()-yObjekt angle = ATan2(ydiff, xdiff) so hab ichs zurzeit |
||
klepto2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: Function GetAngle:Int(X1:Int,Y1:Int,X2:Int,Y2:Int) Local xdiff:Int = x1-x2 Local ydiff:Int = y1-y2 Return ATan2(ydiff, xdiff)-90 End Function SetMaskColor 255,0,255 Local Test:TImage = LoadImage("boing.png",MaskedImage) MidHandleImage(Test) Local Objx:Int = 400 Local Objy:Int = 300 Local Rotation:Float = 0 Local Speed:Float = .5 Graphics 800,600,0,60 While Not KeyHit(Key_Escape) Or AppTerminate() SetRotation Rotation SetBlend MaskBlend DrawImage Test,objx,objy Local Angle:Int = GetAngle(objx,objy,MouseX(),MouseY()) If Angle > Int(Rotation) Then Rotation:+Speed If Angle < Int(Rotation) Then Rotation:-Speed Flip Cls Wend Einfach ein beliebiges Bild verwenden. Im Prinzip musst du nur gucken ob der aktuelle Rotationswinkel größer oder kleiner ist, als der zuerreichende. Und dann halt den Winkel um den Speed erhöhen, so nähert sich der Rotations Winkel langsam an den gewollten an. |
||
Matrix Screensaver
Console Modul für BlitzMax KLPacker Modul für BlitzMax HomePage : http://www.brsoftware.de.vu |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Angle > Int(Rotation) + speed
Angle < Int(Rotation) - speed bitte. Sonst wird er rumzuckeln wenn speed zu gross ist, weil er Rotation nie erreichen kann. (In Spieleprogrammierung NIE mit ganz bestimmten Werten rechnen sondern nur mit Wert + MaximalErlaubteAbweichung) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
shark95 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke funktioniert super, aber ist nicht genau das was ich haben möchte. Wenn ich nämlich vom "180" Punkt auf "-179" weitergehe dreht er logischerweise die ganze runde in die andere Richtung.
Kann man da noch was machen? |
||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit dem von mir geposteten Beispiel geht das. Du musste ein bischen runterscrollen und dir den Code von Rallimen angucken.
Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
shark95 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
oh tut mir leid - hab ich voll übersehen, dass das genau das ist was ich suche. Jedenfalls hab ichs jetzt
Danke |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group