Bonsoir à tous.
J'ai un gros soucis et j'espère que vous pourrez m'aider. Je suis en train de réaliser un carte dynamique de l'Europe entre -800 et notre ère et n'étant pas très fort en programmation, je suis bloqué. Voici mon projet: https://www.dropbox.com/s/3di63h1d8fezs8k/test2.swf
Le principe est simple: grace aux flèches, je peux avancer ou reculer dans le temps entre 800 et 200 avant JC ou je peux arriver directement sur une année précise en entrant la date dans la case prévue à cet effet.
Pour cela, j'ai animé grâce aux frames 200 à 800 (chacune correspond à son année) et à ces quelques lignes de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/* Aller à date */
date_input.restrict = "0-9";
var date_dynamic:int;
date_input.addEventListener(Event.CHANGE, fl_date);
function fl_date(e:Event):void
{
    date_dynamic = parseInt(date_input.text);
    if (date_dynamic > 99 && date_dynamic < 200 || date_dynamic > 800)
    {
        general.gotoAndStop(199);
    }
    else
    {
        if (date_dynamic > 199 && date_dynamic < 801)
        {
            general.gotoAndStop(date_dynamic);
            map_sicile.gotoAndStop(date_dynamic);
            map_italie.gotoAndStop(date_dynamic);
            map_gaule.gotoAndStop(date_dynamic);
            map_gaule.visible = false;
            map_iberie.gotoAndStop(date_dynamic);
            map_iberie.visible = false;
            map_adriatique.gotoAndStop(date_dynamic);
            map_adriatique.visible = false;
            map_egee.gotoAndStop(date_dynamic);
            map_egee.visible = false;
            map_ponteuxin.gotoAndStop(date_dynamic);
            map_ponteuxin.visible = false;
            map_egypte.gotoAndStop(date_dynamic);
            map_egypte.visible = false;
            map_alexandre.gotoAndStop(date_dynamic);
            map_alexandre.visible = false;
            noms.gotoAndStop(date_dynamic);
 
        }
    }
}
 
 
 
/* Afficher la date dynamique */
 
var frames:Number;
textBox2.addEventListener(Event.ENTER_FRAME, frameNumberText2);
function frameNumberText2(evt:Event):void
{
 
    frames = general.currentFrame;
    textBox2.text = (String(frames));
 
}
(j'ai un peu bidouillé avec des infos glanées sur le net donc ne jugez pas trop le côté artisanal ).

Mon problème est celui-ci: ma technique fonctionne pour les dates avant J.C. mais comme je veux aussi traiter celles après J.C....
Je ne sais pas si je suis très clair donc voici un exemple.
Avant si j'entrais 752, le programme m'emmenait directement en 752 avt JC car la frame 752 correspond à l'année 752. Je peux ainsi remonter jusqu'à 1 avant J.C. sans souci. J'ai bien pensé à tout décaler et faire correspondre l'année de démarrage (800 avt JC) à la frame 1 ou 2 et aller ainsi jusqu'à 2014. mais je bloque.
J'aimerais que lorsque je demande l'année 800, le programme comprenne qu'il faut se rendre à la frame 2. Un peu comme la fonction RechercheV (VLookup) sur Excel. Si quelqu'un a une solution, je serais très très heureux!
Bonne soirée.
Jeryl