2010-09-16 24 views
1

Mes connaissances en mathématiques n'ont jamais été très larges, donc c'est peut-être une question simple mais je n'en suis pas vraiment sûre. Fondamentalement, j'utilise la fonction curveTo pour dessiner quelques lignes pour les trajectoires de vol, ce que je ne suis pas sûr de savoir comment faire est de trouver dynamiquement les points de la courbe, par exemple si vous regardez le site aérien Ryan: http://www.ryanair.com/en/cheap-flight-destinations tous les lignes sont bien courbées.curvePour trouver dynamiquement le point de la courbe

current_line.graphics.curveTo(curveX, curveY, map.mouseX, map.mouseY); 

Je dois trouver le CURVEX et Curvey

Si vous avez besoin plus d'informations, laissez un commentaire et je vais répondre à toutes vos questions.

Merci à l'avance
Will

Répondre

1

Si je comprends bien, je pourrais vous donner une réponse possible, mais il est très simple. Je suppose que vous voulez savoir comment tracer automatiquement une courbe entre deux points, pour éviter d'avoir une ligne droite entre vos deux points. Vous devez donc calculer l'emplacement du point de contrôle. Un moyen simple serait de simplement utiliser la position y du point de départ et de fin pour trouver le point qui est exactement à mi-chemin entre eux sur l'axe des y, puis ajouter une valeur arbitraire à cela, et l'utiliser comme le point de contrôle dans la courbe Pour fonctionner. Vous pouvez calculer la valeur à ajouter en obtenant un pourcentage de la longueur de la ligne, de sorte que chaque courbe soit également incurvée. Cela aurait du sens pour une application de type trajectoire de vol, car toutes les courbes se courberaient vers le haut, imitant la façon dont les trajectoires de vol sont tracées pour les routes planes. Si vous ne voyez pas ce que je veux dire, laissez-moi savoir, je vais vous donner un exemple simple avec des nombres réels. Ce n'est peut-être même pas ce que vous demandez de toute façon!

Modifier x4:

Semble codage directement dans la boîte de réponse n'a pas été une bonne idée: P est ici le travail, bonne façon de le faire:

CS4 Version: http://dl.dropbox.com/u/3987391/AutoCurve.fla

CS3 Version: http://dl.dropbox.com/u/3987391/AutoCurve-CS3.fla

Faites-moi savoir si vous avez encore des problèmes!

debu

+0

Salut Debu, C'est exactement ce que je recherche. Oui, si ce n'est pas trop un problème, pourriez-vous me donner un exemple de ce que vous voulez dire? J'ai une version de base qui fonctionne, mais ce n'est pas parfait. J'aimerais voir comment tu le ferais. Merci beaucoup – WillDonohoe

+0

Je ne sais pas si elle vous avertit des modifications aux réponses, donc j'ajoute un commentaire pour m'assurer que vous êtes averti que j'ai ajouté des choses :) – debu

+0

Salut Debu, Merci pour votre réponse. Cela a fonctionné un régal, mais tous les points allant à la droite du point de départ sont allés dans une ligne directe? – WillDonohoe