Problème Lien entre deux fichiers flash?

ouiart

Membre confirmé
6 Août 2004
25
0
Bonjour,

J'ai deux fichiers Flash distincts. J'appelle le swf de l'un dans un bloc image sur l'autre swf.

Mon fichier contact.swf contient un jeu (labyrinthe) qui fonctionne très bien tout seul. Mais importé dans l'autre swf (3-base-site28.swf), il ne démarre plus.
Je n'arrive pas à trouver la solution !!
Estc-ce que quelqu'un a une idée ?

Les fichiers sont trop gros pour être passés sur le forum. Quelqu'un de calé en flash pourrait-il avoir la gentillesse de nous passer son mail pour que nous lui envoyons nos fichiers ?

Merci d'avance
 
Quand tu parles de "bloc image", il s'agit bien d'un movieClip ? Est-tu sûr que le swf externe est bien chargé, et au bon endroit ? Perso je penche pour une erreur de chemin dans les actions de ton fichier externe (le jeu). Si tout ça est ok, as-tu essayé une action play(); sur ce movieClip qui contient le jeu ? Est-tu sûr qu'il n'y a pas de souci dans ton code induit par la hiérarchie de ton ensemble par rapport à ton jeu tout seul, j'entends par là par exemple des actions qui utilisent _root comme chemin de départ et qui donc se perdraient ?

Tu peux tester dans Flash ton fichier principal et faire afficher les variables et objets, tu sauras immédiatement si ton jeu est chargé dans son movieClip cible, et où il en est de son déroulement.
 
merci pour ta réponse rapide d'hier.
Je pense effectivement qu'il y a un problème avec les _root de mon action dans le jeu qui se perdent dans l'ensemble.
Je ne suis pas très calée et donc il est difficile de savoir où corriger.
Je vais faire le test dont tu me parles pour y voir plus clair.

Merci. Je te tiens au courant.
 
Je pensais qu'il serait intéressant de vous passer l'action du bouton qui fait jouer le jeu dans le swf externe (et qui fonctionne très bien tout seul). La voici :

on (release) {
_root.started=true;
_visible = false;
_root.opponent.play();
_root.blinkArrows.play();
}

Dès que le swf est chargé dans le movieclip bloc image, ces actions ne lancent plus rien.
Que faire ?

Merci d'avance
 
si ce bouton était sur la timeline principale de ton jeu, il se retrouve à l'intérieur du movieClip cible, donc ce n'est pas à _root. qu'il doit s'adresser (lien absolu) mais à _parent. (lien relatif). Essaie donc de remplacer _root. par _parent. et ça devrait fonctionner.
 
Ouais !!!!!????
ça marche !!!!

Il reste un petit détail. Notre curseur se déplace bien avec les flèches du clavier dans le labyrinthe mais ne bute plus sur les murs. Il peut aller partout.
Je te passe l'action qui correspond. J'ai essayé de mettre _parent à la place de _root mais là ça ne change rien. Le problème doit être ailleurs.

Voilà toute l'action qui est sur le curseur à déplacer avec le clavier :

onClipEvent (enterFrame) {
if (_parent.started && _parent._currentframe==5) {
with (_parent.square) {
//
// keyboard controls
if (Key.isDown(Key.DOWN)) {
_y += 1;
}
if (Key.isDown(Key.UP)) {
_y -= 1;
}
if (Key.isDown(Key.LEFT)) {
_x -= 1;
}
if (Key.isDown(Key.RIGHT)) {
_x += 1;
}
//
// detect if edges of the player square are colliding with the maze walls
if (walls.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= 1;
}
if (walls.hitTest(getBounds(_root).xMin, _y, true)) {
_x += 1;
}
if (walls.hitTest(_x, getBounds(_root).yMax, true)) {
_y -= 1;
}
if (walls.hitTest(_x, getBounds(_root).yMin, true)) {
_y += 1;
}
//
// detect if maze is finished
if (_parent.goal.hitTest(_x, getBounds(_parent).yMax, true)) {
_parent.gotoandstop(3);
}
}
}
}


Un grand merci à toi pour cette aide.
 
Je vois encore des _root qui trainent ! :p ;)

là :
// detect if edges of the player square are colliding with the maze walls
if (walls.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= 1;
}
if (walls.hitTest(getBounds(_root).xMin, _y, true)) {
_x += 1;
}
if (walls.hitTest(_x, getBounds(_root).yMax, true)) {
_y -= 1;
}
if (walls.hitTest(_x, getBounds(_root).yMin, true)) {
_y += 1;
}
//

Le souci vient peut-être de là ?
 
bonjour,

je n'ai toujours pas trouver ma solution concernant l'action script indiquée ci-dessus. Quelqu'un aurait-il une idée ? Mon curseur qui bute sur les murs du labyrinthe dans le .swf d'origine, peut se balader n'importe où dès qu'il est intégré dans le .swf général.

merci pour votre aide.
 
C'est encore moi. J'ai un truc urgent à rendre et j'aurais bien aimé que mon petit jeu fonctionne parfaitement. HELP :(

Le problème c'est : j'ai un petit curseur dans un labyrinthe que je fais bouger avec les flèches du clavier. Dans le .swf d'orgine, le curseur bute contre les murs du labyrinthe par cette action :

if (walls.hitTest(getBounds(_root).xMax, _y, true)) {
_x -= 1;
}
if (walls.hitTest(getBounds(_root).xMin, _y, true)) {
_x += 1;
}
if (walls.hitTest(_x, getBounds(_root).yMax, true)) {
_y -= 1;
}
if (walls.hitTest(_x, getBounds(_root).yMin, true)) {
_y += 1;
}

Mais quand j'appelle le .swf dans mon général, le curseur ne bute plus sur les murs et se balade partout.
J'ai déjà essayé de remplacer _root par _parent mais ça ne change rien.

Si j'avais la solution aujourd'hui, ce serait génial.

J'espère que quelqu'un sera inspiré.

D'avance merci