SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
Un éditeur de circuit de train
sur un canvas Html5
François Crevola - Juin 2013http://geotrain.crevola.org/
Fonctionnalités
● Inspiré par des jouets existants : Geotrax® de
FisherPrice®
● Poser / prendre / déplacer / supprimer des rails sur
le circuit
● Déplacement du circuit vers le haut, le bas, la
gauche ou la droite (monde/carte virtuellement
infinie)
● Zoom avant et arrière
● Creation de nouveaux rails (fusion de rails existants)
● Import / export XML
François Crevolahttp://geotrain.crevola.org/
Avant
François Crevola
● Prises de photos des
circuits créés par mes
enfants.
● Papier à petits
carreaux  5mm x
5mm / stylo
http://geotrain.crevola.org/
Premiers essais
Drag'n drop d'images bitmap
François Crevola
Pours :
● Facile
ctx.drawImage(...)
Contres :
● Se cale pas très bien (ça
pourrait mais ça prendrait
du temps)
● Moche (Je suis
programmeur, pas artiste)
● Trop de travail pour
ajouter un nouveau type
de rail
● Zoom impossible
http://geotrain.crevola.org/
Fortuitude
● Un jour, juste pour s'amuser : recherche d'un implémentation en
javascript / canvas du language de programmation logo. S'amuser
avec la tortue. Dessiner « accidentellement » des rails ...
François Crevola
…. Eurêka ! Je vais utiliser des graphismes vectoriels !!
( http://www.calormen.com/logo/ )
cs repeat 4 [fd 20 rt 90 fd 20 rt 90 fd 20 rt -90]
http://geotrain.crevola.org/
Bénéfices
● Rotation, symétrie, ...
● Zoom (tous niveaux)
François Crevolahttp://geotrain.crevola.org/
Bénéfices
● Fusion : chaque rail est un polygone, donc il
suffit de faire l'union des polygones.
François Crevola
+ =
Facile !
(merci ClipperJs)
http://geotrain.crevola.org/
Optimisation
François Crevola
Utiliser 3 canvas (transparent)
au lieu d' 1 :
- arrière-plan
- circuit de train
- avant-plan (rail en train d'être
déplacé, sélection d'une zone
de fusion, ….)
Permet de bénéficier des
accélérations du GPU !
http://geotrain.crevola.org/
(idée venant de
http://www.html5rocks.com/en/tutorials/canvas/performance/ )
Optimisation
François Crevolahttp://geotrain.crevola.org/
(en utilisant Chrome. Plus lent sous Firefox. IE est le pire ! )

Contenu connexe

En vedette

L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringL'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringMSDEVMTL
 
Naïar draka
Naïar drakaNaïar draka
Naïar drakaGodest
 
Marketing : étude du marché et commercialisation
Marketing : étude du marché et commercialisationMarketing : étude du marché et commercialisation
Marketing : étude du marché et commercialisationAminaMAKKE31
 
WeKeyPedia pitch @ SoData
WeKeyPedia pitch @ SoDataWeKeyPedia pitch @ SoData
WeKeyPedia pitch @ SoDataCRI Paris
 
Progressiste 2235
Progressiste 2235Progressiste 2235
Progressiste 2235Jo Anis
 
AIDES AUX ETUDIANTS
AIDES AUX ETUDIANTSAIDES AUX ETUDIANTS
AIDES AUX ETUDIANTSJo Anis
 
Event based asynchronous pattern
Event based asynchronous patternEvent based asynchronous pattern
Event based asynchronous patternMSDEVMTL
 
Le club des deux clowns
Le club des deux clownsLe club des deux clowns
Le club des deux clownsdaouclara
 
CESEM, NEOMA Business School - Transcript
CESEM, NEOMA Business School - TranscriptCESEM, NEOMA Business School - Transcript
CESEM, NEOMA Business School - TranscriptMartin Andreev
 
L’option histoire géographie en terminale s-sans son
L’option histoire géographie en terminale s-sans sonL’option histoire géographie en terminale s-sans son
L’option histoire géographie en terminale s-sans soncdilegrandclos
 
Compte-Rendu AG décembre 2011
Compte-Rendu AG décembre 2011Compte-Rendu AG décembre 2011
Compte-Rendu AG décembre 2011keelefr
 

En vedette (20)

D•sign Magazine #0
D•sign Magazine #0D•sign Magazine #0
D•sign Magazine #0
 
L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoringL'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoring
 
Naïar draka
Naïar drakaNaïar draka
Naïar draka
 
Marketing : étude du marché et commercialisation
Marketing : étude du marché et commercialisationMarketing : étude du marché et commercialisation
Marketing : étude du marché et commercialisation
 
Le jardinage
Le jardinageLe jardinage
Le jardinage
 
WeKeyPedia pitch @ SoData
WeKeyPedia pitch @ SoDataWeKeyPedia pitch @ SoData
WeKeyPedia pitch @ SoData
 
Progressiste 2235
Progressiste 2235Progressiste 2235
Progressiste 2235
 
AIDES AUX ETUDIANTS
AIDES AUX ETUDIANTSAIDES AUX ETUDIANTS
AIDES AUX ETUDIANTS
 
Event based asynchronous pattern
Event based asynchronous patternEvent based asynchronous pattern
Event based asynchronous pattern
 
Apresentacao Luvre
Apresentacao LuvreApresentacao Luvre
Apresentacao Luvre
 
Le club des deux clowns
Le club des deux clownsLe club des deux clowns
Le club des deux clowns
 
Compu training
Compu trainingCompu training
Compu training
 
CESEM, NEOMA Business School - Transcript
CESEM, NEOMA Business School - TranscriptCESEM, NEOMA Business School - Transcript
CESEM, NEOMA Business School - Transcript
 
L’option histoire géographie en terminale s-sans son
L’option histoire géographie en terminale s-sans sonL’option histoire géographie en terminale s-sans son
L’option histoire géographie en terminale s-sans son
 
9241544260 part1 chp1
9241544260 part1 chp19241544260 part1 chp1
9241544260 part1 chp1
 
Le questionnaire a choix multiples
Le questionnaire a choix multiplesLe questionnaire a choix multiples
Le questionnaire a choix multiples
 
Ecole Numérique
Ecole NumériqueEcole Numérique
Ecole Numérique
 
Compte-Rendu AG décembre 2011
Compte-Rendu AG décembre 2011Compte-Rendu AG décembre 2011
Compte-Rendu AG décembre 2011
 
L'univers
L'universL'univers
L'univers
 
3 o ktract amh
3 o ktract amh3 o ktract amh
3 o ktract amh
 

Editeur de circuit de train sur un canvas Html5

  • 1. Un éditeur de circuit de train sur un canvas Html5 François Crevola - Juin 2013http://geotrain.crevola.org/
  • 2. Fonctionnalités ● Inspiré par des jouets existants : Geotrax® de FisherPrice® ● Poser / prendre / déplacer / supprimer des rails sur le circuit ● Déplacement du circuit vers le haut, le bas, la gauche ou la droite (monde/carte virtuellement infinie) ● Zoom avant et arrière ● Creation de nouveaux rails (fusion de rails existants) ● Import / export XML François Crevolahttp://geotrain.crevola.org/
  • 3. Avant François Crevola ● Prises de photos des circuits créés par mes enfants. ● Papier à petits carreaux  5mm x 5mm / stylo http://geotrain.crevola.org/
  • 4. Premiers essais Drag'n drop d'images bitmap François Crevola Pours : ● Facile ctx.drawImage(...) Contres : ● Se cale pas très bien (ça pourrait mais ça prendrait du temps) ● Moche (Je suis programmeur, pas artiste) ● Trop de travail pour ajouter un nouveau type de rail ● Zoom impossible http://geotrain.crevola.org/
  • 5. Fortuitude ● Un jour, juste pour s'amuser : recherche d'un implémentation en javascript / canvas du language de programmation logo. S'amuser avec la tortue. Dessiner « accidentellement » des rails ... François Crevola …. Eurêka ! Je vais utiliser des graphismes vectoriels !! ( http://www.calormen.com/logo/ ) cs repeat 4 [fd 20 rt 90 fd 20 rt 90 fd 20 rt -90] http://geotrain.crevola.org/
  • 6. Bénéfices ● Rotation, symétrie, ... ● Zoom (tous niveaux) François Crevolahttp://geotrain.crevola.org/
  • 7. Bénéfices ● Fusion : chaque rail est un polygone, donc il suffit de faire l'union des polygones. François Crevola + = Facile ! (merci ClipperJs) http://geotrain.crevola.org/
  • 8. Optimisation François Crevola Utiliser 3 canvas (transparent) au lieu d' 1 : - arrière-plan - circuit de train - avant-plan (rail en train d'être déplacé, sélection d'une zone de fusion, ….) Permet de bénéficier des accélérations du GPU ! http://geotrain.crevola.org/ (idée venant de http://www.html5rocks.com/en/tutorials/canvas/performance/ )
  • 9. Optimisation François Crevolahttp://geotrain.crevola.org/ (en utilisant Chrome. Plus lent sous Firefox. IE est le pire ! )