0 Members and 1 Guest are viewing this topic.
Avec Visual C++ Express Edition, lorsqu'on crée un nouveau projet, le seul modèle disponible en application WIN32 est l'application console.
mais je crois que je viens de trouver une possible erreur plutôt interessante dans mon code...
C++ commence à me pomper car avec mes vieux yeux j'ai du mal à différencier [ et { par exemple, alors bonjour les fautes de syntaxe !
Papyref a écrit:Je merde pour définir une animation. En utilisant les instructions de la doc API pour DefineAnimations, je me fait jeter avec UINT qui n'est pas je crois accepté en C++. Il en est de même avec Static.Quelle est la solution ?C++ commence à me pomper car avec mes vieux yeux j'ai du mal à différencier [ et { par exemple, alors bonjour les fautes de syntaxe ! Papyref
#define STRICT#include "orbitersdk.h"#include "resource.h"#include "..\OrbiterSoundSDK\OrbiterSoundSDK35.h"#include <stdio.h>
A mon avis orbitersdk.h "include" lui-même "window.h" qui inclu lui même "windef.h"
// animation radarMGROUP_ROTATE *RadarTourne; // données animation pour fonction "AddAnimationComponent "UINT uAnim_radar; // handle pour manipuler l'animation
static UINT GrpMeshRadar[1] = {3};RadarTourne= new MGROUP_ROTATE (0,GrpMeshRadar,1,_V(0,-1.9,-5.04),_V(1,0,0),(float)(2*PI));uAnim_radar = CreateAnimation (1.0);AddAnimationComponent (uAnim_radar, 0,1, RadarTourne);
#define GRP_SPSiege 0#define GRP_ANIMcpit_exter 5#define GRP_ANIMcpit_inter 16#define GRP_airlock 17#define GRP_ANIMrightmain0 21#define GRP_ANIMrightnose0 22#define GRP_ANIMleftnosed0 23#define GRP_ANIMnosestrut0 24#define GRP_ANIMleft_wheel_door 25#define GRP_ANIMleftmaind0 26#define GRP_ANIMright_whe0 27
Toutes nos données sont bonne , il nous reste plus qu'a créer l'animation dans Orbiter. Pour ce faire on utilise:CreateAnimation et AddAnimationComponent.
no matter a écrit:Il faut aussi effacer RadarTourne à la destruction, non?MonAddon::~MonAddon (){ delete RadarTourne;}
DanSteph a écrit:Par contre les caisses de bière stockées à l'exterieurs... c'est moyen la kronenbourg à -270°Dan
double door_proc;enum DoorStatus { DOOR_CLOSED, DOOR_CLOSING, DOOR_OPENING, DOOR_OPEN } door_status;
door_proc = 0;door_status = DOOR_CLOSED; // si tu veux qu'elle soit fermée par défaut
if (gear_status == GEAR_OPENING || gear_status == GEAR_CLOSING) { double dg = simdt * DOOR_OPERATING_SPEED; // double DOOR_OPERATING_SPEED = 0.5; if (door_status == DOOR_CLOSING) { if (door_proc > 0.0) door_proc = max (0.0, door_proc-dg); else door_status = DOOR_CLOSED; } else { if (door_proc < 1.0) door_proc = min (1.0, door_proc+dg); else door_status = DOOR_OPEN; } } SetAnimation (uAnim_leftDoor, door_proc);}
void taClasse::RevertDoor() { if (door_status == DOOR_CLOSED|| door_status == DOOR_CLOSING) door_status = DOOR_OPENING; else if (door_status == DOOR_OPENING || door_status == DOOR_OPEN) door_status = DOOR_CLOSING; }
if (!down) { return 0; // Seulement pression d'une touche (pas de touche enfoncée) } if (KEYMOD_SHIFT (kstate)) { switch (key) { case OAPI_KEY_D: //Autrement si tu appuies sur SHIFT-D RevertDoor(); return 1; } }