Bonsoir,
Attention, JavaScript est bien un langage orienté objet, mais il est assez différent de ce qu'on voit en programmation orientée objet (je précise pour ceux qui lisent ça que "poo", qu'on écrira plutôt POO car "poo" ça veut dire "caca" en anglais, c'est "
programmation orientée objet"). Il n'y a pas de concept de classe, par exemple. Ça déroute beaucoup les développeurs Java (dont JavaScript n'est en réalité pas inspiré), il parait. JavaScript remplit malgré tout les critères principaux d'un langage orienté objet. On parle pour JavaScript (et d'autres langages créés avant et après lui) de
programmation orientée prototype.
En pratique je connais mal JavaScript, et pas du tout ActionScript, mais d'après ce que j'ai lu:
- La syntaxe et les fonctionnalités de base de ces langages sont proches, car tous les deux sont basés sur la norme ECMAScript (même si historiquement c'est pas tout à fait ça).
- Avec ActionScript 3.0, ActionScript s'éloigne de JavaScript car le mécanisme d'héritage principal devient l'utilisation de classes (apparemment en AS2 c'était prototype et basta?).
- Quand on fait de l'ActionScript en Flash ou du JavaScript dans le navigateur, on passe la majeure partie de son temps à interagir avec des API fournis par l'environnement d'exécution. En ActionScript c'est Flash (objet
flash), en JavaScript dans le navigateur c'est le Document Object Model (objet
document).
3akycka a écrit :
Sprite correspond il me semble + ou - au Div du html.
Euh... à priori non, pas de correspondance (aucun lien, fils unique).
3akycka a écrit :
Comment fait t-on en js pour lier un div à une classe, div n'est pas une classe en js ? et n'est pas extensible ?
Il n'y a pas de classes en JavaScript.
Par ailleurs DIV est un élément HTML, et n'a pas de correspondance directe en JavaScript (JavaScript et HTML ne sont pas liés...) ou même dans le DOM. Dans le DOM, ce qui se rapproche le plus d'un élément HTML c'est bien sûr l'objet HTMLElement. Tu peux récupérer une instance de HTMLElement correspondant à un élément de la page portant l'identifiant "machin" avec le code suivant:
var bidule = document.getElementById('machin');
Tu peux aussi récupérer une NodeList (une sorte d'Array mais pas tout à fait...) de tous les éléments DIV du document avec le code suivant:
var allDivs = document.getElementsByTagName('div');
Quant à savoir comment lier un HTMLElement à une classe, même s'il y avait des classes en JavaScript je ne suis pas sûr de voir ce que ça peut bien vouloir dire. Tu veux réaliser quoi au juste?
3akycka a écrit :
Faut-il au contraire créer tous les éléments graphiques de la classe dans le script de la classe ?
La question me dépasse.
Si je connaissais AS3, j'imagine que ça me parlerait un peu plus.
Le mieux est sans doute que tu nous explique ce que tu cherches à faire, et qu'on te réponde sur la manière «classique» de le faire en HTML/CSS/JavaScript (ou DOM/CSS/JavaScript, si tu génères directement les noeuds DOM en JS, sans passer par du code HTML au départ). Tu verras par toi-même s'il y a des points communs avec Flash/ActionScript ou si le fonctionnement est différent.
3akycka a écrit :
Merci si vous aviez quelques infos qui me permette de démarrer
Il y a des bibliothèques JS qui exploitent assez largement le prototypage en JS, notamment les libs Prototype et MooTools. Elles peuvent te fournir des outils qui te seront familiers. Mais avant de regarder de ce côté, je te conseille vraiment de te familiariser avec le JavaScript «pur» et les méthodes du DOM, sinon tu vas t'embrouiller.
Modifié par Florent V. (26 Oct 2010 - 19:38)