#1 [↑][↓]  15-07-2018 15:32:39

WhiteNouNOurs
Copilote
Lieu: Vélizy-Villacoublay
Date d'inscription: 05-04-2008
Renommée :   

[FSX] Un bout de programmation ?

Bonjour à toutes et tous,

Avant toute chose, je ne suis pas certain d'être dans la bonne rubriques du forum, donc si un administrateur considère que je me suis vautré, aurait-il la gentillesse de me déplacer dans la bonne ?  Merci d'avance et désolé…

J'en viens à ce qui m'amène ici : j'avais abandonné flight sim depuis quelques temps, envi de voir et faire autre chose quoi, puis je m'y suis remis, mais par le coté SimConnect. Je me suis dit que j'allais m'amuser à tester la programmation de Simconnect et de voir si je peux commander un appareil avec autre chose que mon petit joystick blink
J'ai fouiller un peu partout, et sans aller bien loin, dans le SDK de FSX j'ai trouvé quelques exemples qui mon permis de plus ou moins comprendre comment fonctionne la relation entre un programme externe, SimConnect et FSX. Mais bon, je suis loin, très très très loin de tout comprendre. Les possibilités sont énormes.
En tâtonnant un petit peu je suis arrivé à faire quelques petits trucs, mais je bute toujours sur la même chose. L'AI semble vouloir n'en faire qu'à sa tête et ne me donne pas complètement la main. J'ai repris la lecture de la doc du SDK et je suis tombé sur AIreleasecontrole. Dans le SDK, il est écrit : SimConnect_AIReleaseControl function is used to clear the AI control of a simulated object, typically an aircraft, in order for it to be controlled by a SimConnect client. Ce serait pile poil ce que je cherche, mais… autant j'arrive à créer un appareil AI, autant je n'arrive pas à comprendre comment en créer un AIRelease.

Ci-dessous le bout de code qui me permet de créer l'appareil AI (issu d'un des exemples du SDK)
Petite précision, comme je suis vraiment pas bon en C, je me suis dirigé vers le VB (je sais c'est probablment pas une bonne idée)

Private Sub buttonCreateAIObjects_Click(sender As Object, e As EventArgs) Handles buttonCreateAIObjects.Click
        Dim Init As SIMCONNECT_DATA_INITPOSITION

        Init.Latitude = LatitudeAilier
        Init.Longitude = LongitudeAilier
        Init.Pitch = 0.0
        Init.Bank = 0.0
        Init.Heading = CapAilier
        Init.OnGround = 1
        Init.Airspeed = 1

        fsx_simconnect.AICreateNonATCAircraft(TypeAvionAilier, "N1001", Init, DataRequests.RequestAvionAilier)
       
    End Sub


Et là, je sèche. Je n'arrive pas à dire à SimConnect que ce n'est pas un avion que l'AI doit conserver sous son contrôle, mais un avion que je veux contrôler entièrement. Même si j'envoi des instructions à l'appareil, il semble y avoir un conflit entre mes instructions et ce que l'AI veut faire.

Si l'un ou l'une de vous avait une idée, je suis preneur. "SimConnect_AIReleaseControl" m'empèche d'avancer e_colere
Je suis preneur d'une explication plus ou moins détaillée, un exemple approchant, une idée, …

Merci d'avance

Dernière modification par WhiteNouNOurs (15-07-2018 15:46:49)


Pascal

id MSFS : WhiteOurson. Core i7 6700K 4.GHz, RAM 32Go, GeForce GTX 1070 8Go, OS Win10-64b sur SSD 250Go + SSD 1To (simus) + HDD 3To pour le reste / Fibre Optique Bouygues 1Giga / MSFS DVD

Hors ligne

 

Pied de page des forums

Maintenance informatique Lausanne