Image-Angriffspunkt
Übersicht
BlitzBasic
Allgemein|
|
joachim_neuBetreff: Image-Angriffspunkt |
Antworten mit Zitat |
|---|---|---|
|
hallo,
ich hab ein problem. wenn ich bei einem bild den angriffspunkt setze, und das dann rotate, dann wird der ja nicht mitgedreht, sprich der angriffspunkt bleibt dann der gleiche. schwierig ist das vorallem, wenn ich z.B. einen hammer mit rotatepunkt 1,1 hab. nach dem drehen um -45 ° ist der angriffspunkt dann aber nichtmehr auf der stelle am hammer, wo er davor war, sondern immernoch oben in der ecke. wie schafft man es, dass der rotatepunkt da is, wo man ihn haben will, außer in der mitte? danke für hilfe. J!N |
||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
noir |
Antworten mit Zitat |
|
|---|---|---|
|
meinst du sowas wie:
MIDHANDLE AUTOMIDHANDLE HANDLEIMAGE ? |
||
|
Fragt und man wird euch helfen
Das Alternativ BlitzBasic-Forum: FreeCoder Einfach chatten: BlitzChat Code&Text schnell und einfach pasten: FreePasting |
||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
| die befehle kenn ich, nur wie finde ich den punkt wieder, an dem ich vorher gedreht habe? ich kenn ja nur die alten X und Y werte + die alte größe + die neue größe. ich suche aber die neuen X und Y werte, die den gleichen punkt angeben (nach dem drehen) | ||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
hitokiri |
Antworten mit Zitat |
|
|---|---|---|
|
Wenn du automidhandle hast und dann rotatest wird er doch um den punkt 0,0 gedreht, also ist der punkt 0,0 nach dem rotaten derselbe wie vorher o.O.
ansonsten eben über sinus/cosinus ausrechnen |
||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
| jo, aber wenn der punkt nicht 0,0 ist? wie berechnen? | ||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
hitokiri |
Antworten mit Zitat |
|
|---|---|---|
|
du hast den winkel und du kennst ja auch die länge und breite, also die anfangsentfernung von rotatepunkt und angriffspunkt.
*kopfkratz* wenn du als rotatepunkt 1,1 hast und als angriffspunkt 0,0 und dann um 45 grad wanderst... dann ziehst du um 1,1 einen kreis mit radius 1. bei 45° deutet dir dein radius genau auf den angriffspunkt. glaube ich zumindest, wenn ich dein problem richtig verstanden habe |
||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
|
naja, blos wie mache ich in BB einen kreis? ich will ja das nicht konstruieren, sondern ausrechnen, und bin in der 8. klasse, also mit diesem cos, sin und sonstwas hab ich noch nix zu tun, ich weiß nur, dass man das da scheinbar braucht...
EDIT: naja, also ich hab jetzt mal überlegt, und herausgekommen ist, dass ich ja neben dem bezugspunkt dann auch den angriffspunkt beim zeichnen der figur neu berechnen muss, den bezugspunkt für die nächste drehung und den zeichenpunkt, um das so zu zeichnen, dass es aussieht, als hätte es sich tatsächlich um den punkt gedreht und nicht um den mittelpunkt... |
||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
|
|
Alfadur |
Antworten mit Zitat |
|---|---|---|
|
watch dis man!!!
BlitzBasic: [AUSKLAPPEN]
|
||
| A Cray is the only computer that runs an endless loop in less than four hours. | ||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
|
@Alfadur:
Danke für die Formel, nur irgendwie gehts immernoch net... das hier ist meine funktion: BlitzBasic: [AUSKLAPPEN]
vielen Dank für hilfe... J!N |
||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
|
|
Alfadur |
Antworten mit Zitat |
|---|---|---|
|
ich glaub du machst viel zu viel. wie du die formel benutzt ist so wie ich das sehe schon richtig... aber die position des rotatepunktes ist dann bei objekt\x+tx und objekt\y+ty mache ...
bzw in deinem fall bei objekt(id,7)+x1 und objekt(id,8)+y1 also in deinem fall brauchst du den rotatepunkt garnicht speichern ,den berechnest du ja immer neu mit der formel ... auch das viele handleimage solltest du vielleicht lassen... obwohl ich jetzt bei dem code auch gerade garnicht mehr durchblicke. willst du ein ganzes bild rotieren oder nur einen entsprechenden punkt? |
||
| A Cray is the only computer that runs an endless loop in less than four hours. | ||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
| das bild um den punkt will ich rotieren... | ||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
|
|
Alfadur |
Antworten mit Zitat |
|---|---|---|
|
ok, angenommen du hast ein bild, das ist 32x32 groß ... du hast es natürlich gemidhandled...
und angenommen der angriffspunkt, also der punkt den du rotieren willst, der liegt bei (22,4) ... rotatex= (32/2-22) * Cos(rotatewinkel) - (32/2+4) * Sin(rotatewinkel) rotatey= (32/2-22) * Sin(rotatewinkel) + (32/2+4) * Cos(rotatewinkel) wenn du jetzt dein gedrehtes bild hast, welches du wohl ungefähr mit drawimage bild(winkel),x,y,frame einzeichnest, dann befindet sich der angriffspunkt bei x+rotatex und y+rotatey.... midhandle mußt du am anfang machen, oder einmal automidhandle 1 |
||
| A Cray is the only computer that runs an endless loop in less than four hours. | ||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
|
habs net gemidhandled...
ich hab ein bild, 50x50 und will das um den punkt 15,15 drehen. und damit das realistisch aussieht muss ich diesen punkt nach dem drehen wieder finden und noch dazu daran den malpunkt ausrichten, dann sieht es aus, als währe es um eben diesen punkt auf dem bildschirm gedreht worden... |
||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
|
|
Alfadur |
Antworten mit Zitat |
|---|---|---|
|
also ich hab mir gerade ein bild gemalt, das ist 50x50 groß und hat bei 15,15 nen punkt. darum solls rotiert werden. da hab ich einfach mal
BlitzBasic: [AUSKLAPPEN]
geschrieben und schon funktionierts. also zumindest ist das bild da, der punkt ist da und das bild rotiert drum herum! was jetzt der malpunkt ist, das weiß ich immernoch nicht. wenn du das handle vom bild verschiebst, dann wird das bild ja an den punkt gezeichnet... willst du jetzt etwa wieder den mittelpunkt des bildes berechnen oder wie? probier mal den code oben aus, der macht ja eigentlich genau das was du willst ... |
||
| A Cray is the only computer that runs an endless loop in less than four hours. | ||
|
|
joachim_neu |
Antworten mit Zitat |
|---|---|---|
| jo, der code macht, was ich haben will... | ||
| http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de | ||
|
|
Alfadur |
Antworten mit Zitat |
|---|---|---|
| na dann... mit bißchen mehr und präzisem info hätte es keine 17 tage gedauert... | ||
| A Cray is the only computer that runs an endless loop in less than four hours. | ||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group
