getURL cs3
#1
Posté 07 May 2008 - 04:40 PM
je suis novice ne action scrip j'utilise des fonction simple avec flash mx 2004
ce code placé sur un bouton accueil etant un fichier local de mon site tout marche bien mais pas avec cs3
on (release) {
getURL("accueil.html", "_self");
}
sous cs3 marche pas je reçoit un avertissement ( et oui on es avertie maintenant ))
AVERTISSEMENT : les actions associées à un bouton ou les occurrences MovieClip ne sont pas prises en charge par ActionScript 3.0. Aucun script associé aux occurrences d'objets ne sera pris en compte.
quel code mettre a la place et ou
merci pour votre aide
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)
#2
Posté 07 May 2008 - 05:24 PM
Quelque chose comme ceci
Action Script
myButton.addEventListener(MouseEvent.MOUSE_DOWN, myButton_MOUSEDOWN);
function myButton_MOUSEDOWN(e:MouseEvent):void
{
navigateToURL( new URLRequest( "accueil.html" ), "_self" );
}
Albert Einstein
#3
Posté 07 May 2008 - 05:30 PM
En AS3, on ne peut plus placer les script sur un objet, il faut forcément le faire dans une timeline. En général, on utilise un ou plusieurs Calques vides pour contenir le code AS.
Pour ce qui est de ton code, il présente donc trois des différences les plus connues entre l'AS2 et l'AS3 :
- la présence du code sur un objet plutôt que dans la timeline, ce qui n'est plus possible en AS3
- getURL() : La fonction getURL() n'existe plus, elle a été remplacée par navigateToURL()1
- la gestion des évènements : on(release) et ces camarades ne fonctionnent plus, on utilise les évènements par le biais d'écouteurs.
Voici le Code AS3 équivalent au tien. Je suppose que le nom du bouton est "btn"
Action Script
btn.addEventListener(MouseEvent.CLICK, boutonClic);
function boutonClic(evt:Event){
navigateToURL(new URLRequest("accueil.html"), "_self");
}
EDIT : grillée par tibibi
Bonne journée.
Dieu est Static : Il n'existe pas, mais peut agir n'importe où.
#4
Posté 07 May 2008 - 05:35 PM
Pas grave, ta reponse est plus précise Aralica. Je suis très mauvais pédagogue
++
Albert Einstein
#5
Posté 07 May 2008 - 06:16 PM
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)
#6
Posté 07 May 2008 - 07:58 PM
jai donc mon bouton nomme btn avec a limage 1
# btn.addEventListener(MouseEvent.CLICK, boutonClic);
# function boutonClic(evt:Event){
# navigateToURL(new URLRequest("accueil.html"), "_self");
# }
et monsieur flash me repond
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at accueil_fla::plante_21/accueil_fla::frame1()
ps c qd meme compliquez avant 2 ligne toute simple et la....
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)
#8
Posté 07 May 2008 - 10:29 PM
navigateToURL(new URLRequest("accueil.html"), "_self");
}
btn.addEventListener(MouseEvent.CLICK, boutonClic);
non marche pas je place un clip btn sur l'image un avec ce code et toujours la même erreur
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at accueil_fla::plante_21/accueil_fla::frame1()
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)
#9
Posté 07 May 2008 - 10:38 PM
Ca m'intrigue cette erreur... pourrais-tu mettre tes sources qui générent cette erreur.
Ce message a été modifié par tibibi : 07 May 2008 - 10:39 PM
Albert Einstein
#10
Posté 07 May 2008 - 11:02 PM
Je pense avoir trouver le problème: tu déclares un événement de type Event pour un écouteur de type MouseEvent. MouseEvent descend d'Event donc normalement il ne devrait pas renvoyer d'erreur mais bon... essaye de remplacer:
Action Script
function boutonClic(evt:Event) {
par
Action Script
function boutonClic(evt:MouseEvent) {
Je propose çà car l'erreur 1009 return un mauvais typage de paramètre fonction:
"A function return type, parameter, or variable has no type declaration"
Dis-moi si c pas çà on testera autre chose
Albert Einstein
#11
Posté 07 May 2008 - 11:09 PM
J'ai dis une bétise je crois... C'est l'output qui t'as renvoyé cette erreur et non ton compilateur. J'ai mal regardé l'erreur désolé...
En faite l'erreur ne pourrait-elle pas venir d'ailleurs. Tu as que çà comme code sur ta 1er image?
Albert Einstein
#12
Posté 08 May 2008 - 01:38 AM
Personnellement, le message d'erreur ne me fait penser qu'à une chose:
As-tu bien fait attention à nommer ton bouton "btn", ou à changer le nom de la variable dans le script ?
Bonne journée.
Dieu est Static : Il n'existe pas, mais peut agir n'importe où.
#13
Posté 08 May 2008 - 09:59 AM
function boutonClic(evt:Event) {
navigateToURL(new URLRequest("accueil.html"), "_self");
}
btn.addEventListener(MouseEvent.CLICK, boutonClic);
marche aussi dans un nouveau fichier mais pas dans mon fla a moi j'ai une anim avec plein de clip. dans un clip (plante ds la bibliotheque ) des interpolation et mon bouton a l'image 5 appellé btn et le code a l'image 1 et l'erreur
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
at accueil_fla::plante_21/accueil_fla::frame1()
chose bizare quand je met le code le clip plante ce lance plus tout les autre oui mais pas celui la quand je l'enlève il part . voila merci
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)
#14
Posté 08 May 2008 - 10:39 AM
si ton code est sur la 1er frame et que ton bouton est sur la 5em tu appelles une méthode sur un objet qui n'existe pas encore. Tu dois mettre ton code sur l'image 5.
Albert Einstein
#16
Posté 08 May 2008 - 01:32 PM
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)
#17
Posté 08 May 2008 - 02:20 PM
evt récupère ainsi toutes les propriétés de la classe Event.
exempmle:
Action Script
myButton.addEventListener(MouseEvent.MOUSE_DOWN, myButton_MOUSEDOWN);
function myButton_MOUSEDOWN(evt:MouseEvent):void
{
evt.target.x = evt.target.x + 100;
}
Ici on déplace le bouton nommé myButton de 100 sur x par rapport à sa position initial. evt.target permet de ciblé l'objet qui déclenche l'évenement. A partir de evt.target tu peux récupérer toutes les propriétés de ton bouton (ici x mais aussi height ou width etc...
Dans la doc d'adobe tu verras que l'on peut récupérer beaucoup d'information sur les événement...
Autre exemple:
Action Script
myButton.addEventListener(MouseEvent.MOUSE_WHEEL, myButton_MOUSEDOWN);
function myButton_MOUSEDOWN(evt:MouseEvent):void
{
trace(evt.delta)
}
La classe MouseEvent permet de récupérer le sens dans lequel on tourne la molette. Si evt.delta < 0 ou si delta > 0.
J'espère que c'était pas trop brouillons et que t'as compris...
Ce message a été modifié par tibibi : 08 May 2008 - 02:24 PM
Albert Einstein
#18
Posté 08 May 2008 - 02:57 PM
1. myButton.addEventListener(MouseEvent.MOUSE_DOWN, myButton_MOUSEDOWN);
2.
3. function myButton_MOUSEDOWN(evt:MouseEvent):void
4. {
5. evt.target.x = evt.target.x + 100;
dans le code plus haut on re faisait pas appel a evt c pour sa que je comprenais pas merci pour les précisions.
Les détails font la perfection, et la perfection n'est pas un détail (Léonard de Vinci)


Connexion
Inscription
Citer


