Bonjour.
Je travaille sur un jeu de plate-forme en 2D.

J'ai créé un bouton qui permet de passer le jeu en mode plein écran.
L'instance de ce bouton (qui ce trouve sur le stage) est nommé "btn_fullsc".

Dans ce bouton, un même MovieClip est utilisé pour chaque frame/état du bouton (Up, Over, Down).
Ce MovieClip est lié à l'Action Script en tant que Class nommé "fullScreenClip".

Remarque: Il est peut être préférable d'utiliser un nom d'instance pour le MovieClip au lieu d'une Class ActionScript. A vous de me le dire.

Dans ce MovieClip se trouvent 2 frames: frame 1 et frame 2.
Frame 1 est l'image que j'aimerais afficher lorsque la dimension du jeu est en mode normal (stageDisplayState.NORMAL).
Frame 2 est l'image que j'aimerais afficher lorsque la dimension du jeu est en mode plein écran (stageDisplayState.FULL_SCREEN).

Toujours dans ce MovieClip, la ligne de code "stop();" se trouve sur chaque frame.

Voici le code pour la fonction plein écran dans la scene principale:
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
 
import flash.display.StageDisplayState;
 
 
 
function toggleFullScreen():void
{
    if (stage.displayState == StageDisplayState.NORMAL) 
    {
    stage.displayState=StageDisplayState.FULL_SCREEN;
    } else 
        {
            stage.displayState=StageDisplayState.NORMAL;
        }
}
 
btn_fullsc.addEventListener(MouseEvent.CLICK, buttonOnClick)
 
function buttonOnClick(event:MouseEvent):void
{
    toggleFullScreen();
}
J'ai fais plusieurs tentatives mais rien ne fonctionne.
Les problèmes sont les suivants:
- Quand je passe ma souris sur le bouton, le clip interne démarre automatiquement pour s'arrêter sur la frame 2. Si je repasse à nouveau, le clip bascule sur la frame 1.
- J'ai tenté d'accéder aux frames à l'aide de méthodes tels que gotoAndStop avec le MovieClip instancé (btn_fullsc.FullScreenClip.gotoAndStop(2)) ou avec le MovieClip sous forme de class (FullScreenClip.gotoAnsStop(2)).

Examples en code:

MovieClip Instancé:
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
 
import flash.display.StageDisplayState;
 
 
 
function toggleFullScreen():void
{
    if (stage.displayState == StageDisplayState.NORMAL) 
    {
    stage.displayState=StageDisplayState.FULL_SCREEN;
    btn_fullsc.fullScreenClip.gotoAndStop(2);
    } else 
        {
            stage.displayState=StageDisplayState.NORMAL;
            btn_fullsc.fullScreenClip.gotoAndStop(1);
        }
}
 
btn_fullsc.addEventListener(MouseEvent.CLICK, buttonOnClick)
 
function buttonOnClick(event:MouseEvent):void
{
    toggleFullScreen();
}
Erreur obtenue:
Scene 1, Layer 'Script', Frame 1, Line 11 & 15 1119: Access of possibly undefined property fullScreenClip through a reference with static type flash.display:SimpleButton.

MovieClip sous forme de Class:
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
 
import flash.display.StageDisplayState;
 
 
 
function toggleFullScreen():void
{
    if (stage.displayState == StageDisplayState.NORMAL) 
    {
    stage.displayState=StageDisplayState.FULL_SCREEN;
    fullScreenClip.gotoAndStop(2);
    } else 
        {
            stage.displayState=StageDisplayState.NORMAL;
            fullScreenClip.gotoAndStop(1);
        }
}
 
btn_fullsc.addEventListener(MouseEvent.CLICK, buttonOnClick)
 
function buttonOnClick(event:MouseEvent):void
{
    toggleFullScreen();
}
Erreur Obtenue:
Scene 1, Layer 'Script', Frame 1, Line 11 & 15 1061: Call to a possibly undefined method gotoAndStop through a reference with static type Class.

Ces tentatives sont veines et je me rends bien compte qu'il y a pas mal de choses qui m'échappent.
Quelqu'un aurait-t-il une méthode intelligente et efficace pour résoudre ce problème ?

Merci pour votre lecture.