Forums Développement Multimédia

Aller au contenu

VCL - Tuto Rigolo - Partie 1

CODE DETENTE TUTO as3

18 réponses à ce sujet

#1 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 08 December 2014 - 14:44 PM

Bonjour les amis !

Je vous propose de suivre l'évolution de la création d'un projet réalisé par un cancre qui se débrouille.

L'intérêt ?
- Pour moi : me motiver, avoir peut-être des retours sur mes posts, ptêt trouver des gens qui veulent bosser avec moi etc...
- Pour vous : Des fois pour rigoler, des fois pour apprendre ou m'apprendre et pis comme ça ca bouge !

C'est parti :

1. Concept :
Vcl, vintage Crazy Life est une appli qui propose tout ou presque tout !

Fichier joint  72.png   12.44 Ko   5 téléchargement(s)

- Générer une grille de loto
- Savoir si DIEU existe ou non et le cas échéant pouvoir lui téléphoner
- Choisir sa météo pour le lendemain
- Fonction GPS ( sachant que toute route mènent à Rome )
- Etc…

2. Positionnement :
- Appli PAYANTE, he oui ! ( j’aime ni la pub ni le faussement gratuit )
- Appli considérée comme une œuvre d’art au sens mineur du terme.
- Entre Jeff Minter et Monthy python.
- Tout travail mérite salaire.
- 1,5 euros.

3. Diffusion :
- Réseau Facebook.
- Presse locale.
- Site internet spécialisé dans l’absurde.
- Blogs. Buzz.

4. Protection de l’appli :
- Il faudra revenir ultérieurement sur les droits d’auteurs.
- Concernant l’INPI : inutile, impensable, non-réaliste.
- Enveloppe Soleau, chere alors que :
- Il suffit de s’envoyer à soi même un descriptif complet + images en RAR. Bien demander à la poste que la lettre qui aura été enveloppé de scotch soit tamponnée un peu partout. Conserver le courrier. Si un jour on découvre l’idée, concept ou autre pouvant être pompé alors l’enveloppe fera foi devant les tribunaux compétents. ( c’est con mais faut penser parfois à se protéger)

5. Choix techniques :
- Suite Adobe, As3 sous flash. Timeline. Et si d’ici là j’ai appris la POO… On verra bien, à la bonne franquette !

Premières incertitudes, la page vierge.

Fichier joint  format.jpg   103.06 Ko   6 téléchargement(s)

En réalité elle n’est pas vierge puisque j’ai déjà réalisé bien la moitié des graphismes et du code il y a plus d’un an. Mais, Oh grande lassitude, je réalise que j’ai progressé et qu’il me faut tout reprendre. Je ne souhaite pas faire modifier l’application selon les différents formats existants ( trop compliqué pour moi ) mais je ne souhaite pas non plus que l’image soit déformée. ( comment des studios de développement se permettent-ils une déformation sur des applis vendus à plus de 500.000 ex ? Même gratuit !

Le compromis choisi est un format réactif de 1000 x 1580 px avec une image de fond plus large.
Puis à la réflexion, car nous y sommes si proche, un format de 1000 x 1618 px. Soit les proportions dorées ( suite de fibonacci, (V5+1)/2 etc…. ).
Ok, cela fera hurler les puristes. Et alors….

Bon, bah c’est un bon début !
Allez Zou au boulot.

#2 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 08 December 2014 - 18:39 PM

Coucou Etienne !

- T'avance.
- Oui mais mal : j'ai redessiné tout le menu en commençant à bien nommer mes calques et dossiers.
- Et alors ?
- Mes bonnes résolutions n'ont pas tenues. BOUH.....

PENSER A BIEN RANGER LES CALQUES, A LES NOMMER, ETC... C'est comme pour le code. Sinon tu risques un gros BORDEL.

- Et sinon ?
- Bah regarde : screenshoot sous photoshop :

Fichier joint  copieecranfond.jpg   871.74 Ko   13 téléchargement(s)

- screenshoot de mon téléphone.

Fichier joint  Screenshot_2014-12-08-18-23-12.png   3.13 Mo   15 téléchargement(s)

- screenshoot d'une tablette Archos de M....

Fichier joint  Screenshot_2014-12-08-17-25-35.png   1.43 Mo   11 téléchargement(s)

- Cool ! Et sur ta tablette ?
- Elle est DEAD ma tablette....
- Oups ! Sorry.


- Par contre tu vois : je suis intrigué par les boutons Android qui apparaissent.
- Ah oui dis donc.
- Ben c'est que même en full screen ils sont là.
- Et tu va en faire quoi ?
- En fait, Je sais pas si on peut les enlever, voir même si se serait intéressant de le faire !
- Donc ?
- Bah je vais éteindre le PC et voir demain...
- OK. Bisous Etienne.
- Bisous Etienne !

#3 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 08 December 2014 - 20:45 PM

- T'es pas couché Etienne ?
- Beuh non ! J'attends la fin d'un téléchargement illégal d'un truc illégal que veut voir ma femme ! Et toi Etienne ?
- Bah j'attends pour matter....

- Entre temps j'ai bossé !
- Tu fais bien : ça fais genre des commentaires sur ton Post. Hi hi hi....
- M'en fous : j'ai bossé : j'ai mis en place les boutons !
- Ils servent à quoi ?
- Ceux du menu principal envoi à une frame spécifique ou l'on trouve l'utilitaire ( calculatrice, gps etc... )
- Pas de addchild alors ?
- NON ! Chais pas faire : tout sur la timeline, ça passe ou ça casse ! regarde

: Fichier joint  boutons1.jpg   171.23 Ko   3 téléchargement(s)

- En gris ce sont mes boutons, ils s’appellent : page_1 , page_2 etc...
- Ok je suis.
- je leur assigne la même fonction :


for (var i: int = 1; i < 3; i++) {
this["page_" + i].addEventListener(TouchEvent.TOUCH_TAP, DepuisMenu)
}
 

- Et c'est quoi la fonction DepuisMenu ?
- Bah d'aller à la Frame assigné au bouton ! regarde :


function DepuisMenu(event: TouchEvent): void {
gotoAndPlay(event.currentTarget.name.charAt(5));
}
 

- Ah d'accord ! Mais pourquoi t'as pas utiliser la méthode à Didier ?
- Parce que comme je suis bordélique j'aime autant garder tout le code sur un même calque.
- Ah d'Ac. Tant que ça reste de l'appli écrit avec les pieds....
- Mais j'ai un problème !
- Lequel si ça marche ?
- J'ai plus de 9 menus donc faudra changer la fonction pour qu'elle prenne les 1 ou 2 derniers caractères de mes boutons.
- Et alors ? C'est quoi le problème ?
- Ben je ne sais pas faire !
- Tu veux que je t'explique ?
- Non !
- Pourquoi ?
- D'une part je trouverais bien le moment venu. D'autre part le téléchargement est fini !
- Hein ?
- Et oui !!!
- Bon bah.... Bonne B...
- hi hi hi ....
- Pffff....

#4 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 09 December 2014 - 09:58 AM

Nom des boutons :
page_1
page_2…
Beurk !

Lâche prise… et ça ira mieux :
meteo
gps
tarot…
C'est pas plus clair comme ça ?

Et utilise des labels pour tes frames.
Plus de souci avec les nombres et les noms incrémentés. C'est de la pollution autant pour ton code que pour ton esprit.

PS : et la méthode Didier n'est pas incompatible avec écrire tout le code sur la timeLine (voir l'autre post + l'exemple ci-joint)… Regarde surtout (et prend le temps d'y réfléchir un peu) comment le bouton home est associé à la même fonction que la palette des boutons. Même principe ? Même action == même code. La simplicité est dans cette idée-là.

Fichier(s) joint(s)

  • Fichier joint  retest.fla   1.12 Mo   7 téléchargement(s)


#5 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 09 December 2014 - 11:23 AM

- Salut Etienne ! C'est Etienne. Ca va ?
- Non. J'ai mal dormis. En plus ma fille elle a un copain officiel. Les boules.
- Ho ! Ca va aller oui ! Des coups de pieds aux culs qui se perdent. T'as vus : Didier il a répondu.
- Ouais mais ses dessins ils sont moches :sad:.
- Roh. Vais me fâcher avec moi-même, grâve, alors. C'est quoi qu'on dit ?
- Pfff...

- MERCI DIDIER !
Fichier joint  coeurm5.png   14.58 Ko   2 téléchargement(s)

- Bah ouais ! Sans dec, c'est quand même vachement plus propre. J'avais jamais nommé les Frames.
- Ca ressemblait à quoi avant ?
- A rien justement.
- Et tu fais quoi aujourd'hui ?
- Le tableau des réussites !

- Sous forme de tableau periodique des éléments, 108 réussites à débloquer plus l'Ether.
soit environ 9 réussites par fonctions.
- Et tu compte t'y prendre comment ?
- Bah j'ai dessiné l'icône !

Fichier joint  einstein.jpg   93.08 Ko   2 téléchargement(s)

- T'as pas l'impression de vendre la peau avant d'avoir tué l'ours.
- Grrr... C'est que ça va être compliqué. Alors je m'amuse. En plus POL il va dire " JSON".. Ahhhhh....
- POL, le copain de Didier ?
- Ch'ais pas, plutôt le copain de Jason.
- Bon bah bosse et tu reviens quand tu as une première idées.
- OK d'Ac. A tout à l'heure...
- Et arrête de faire cette tête de mule !

#6 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 09 December 2014 - 16:57 PM

- Coucou Etienne, t'es revenu ?
- Je me suis arraché les cheveux.
- Sur quoi ?
- Un truc tout con mais j'crois que c'est un problème de formatage de cervelle....


var Reussite: Array = new Array();
for (var i: int = 0; i < 10; i++) {
for (var j: int = 0; j < 10; j++) {
  Reussite[i][j] = 1;
}
}
 

- Vais encore passer pour un imbécile !
- Beuh non, ils sont gentils les gars ici.
- Que tu crois ! T'as pas vu : ils n’arrêtent pas de s'écharper ! Tien d’ailleurs Didier ils étaient trés jolis tes dessins !
- Faux cul !
- Bref, j'ai suivi les conseils de Draad sur le sharedobject.
- Et alors.
- Bah ça marche. C'est facile en fait.
- Donc t'en est où ?

- Là :

stop();
var i: int;
var j: int;
var Tab_Reussite: Array = new Array();
var Reussites: SharedObject = SharedObject.getLocal("reussiteVCL");
//// on vérifie si l'objet existe , sinon on le cré avec des 0. une réussite est un 1 dans le tableau.
if (Reussites.data.tableau == null) {
for (i = 0; i < 200; i++) {
  Tab_Reussite[i] = 0;
}
sauvegardeReussite();
} else {
Tab_Reussite = Reussites.data.tableau;
sauvegardeReussite();
}
//// La fonction qui modifie l'objet en fonction du tableau puis le sauve
function sauvegardeReussite(): void {
Reussites.data.tableau = Tab_Reussite;
Reussites.flush();
afficheNbReussites ();
}

//// AFFECTE REUSSITE AUX BOUTONS ( à titre d'exemple )
Boutons_Menu.GPS.reussite1 = 3;
Boutons_Menu.JP1.reussite1 = 5;
//// On affiche le nombre de réussites
function afficheNbReussites(): void {
var k: int = 0;
for (i = 0; i < 200; i++) {
  if (Tab_Reussite[i] == 1) {
   k++
  }
}
NB_reussites.text = (k + "/109") ;
}
//// LA NAVIGATION
Boutons_Menu.addEventListener(TouchEvent.TOUCH_TAP, navigation);
function navigation(event: TouchEvent): void {
gotoAndStop(event.target.name);
Tab_Reussite[event.target.reussite1] = 1;
sauvegardeReussite();
}
 

- C'est tout ?
- Bah oui mais pour moi c'est un grand pas : fallait absolument que j'y arrive...

Image IPB


- Et pis ça servira à d'autres.
- Ouais ! et plus encore si il est corrigé, enfin, amélioré... Mais ça marche. Donc tout va bien.
- Et maintenant ?
- Demain, maintenant c'est fini !
- Et demain ?
- Je mets en place la calculatrice !
- Ca ressemble à quoi ?
- Regarde :

Fichier joint  calculette.jpg   101.33 Ko   2 téléchargement(s)

- Roohhh. Et elle marche comment ?
- Super facile : t'appuis sur la touche pour aditionner 1.
- Heu, exemple ??? Stp Etienne ?
- OK Etienne. Ben pour faire 287 * 108 tu appuis 108 fois 287 fois. Et ça marche NICKEL !
- Ah... Bon ok... A demain alors.
- Tch'ao !

#7 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 12 December 2014 - 17:49 PM

- Coucou Etienne.
- Coucou Etienne.
- Ca va ?
- Non !
- Pourquoi ?
- 2 jours que j'essaie et que ça marche pas !
- pourquoi ?
- J'avais oublié d'incorporer la police...... BOUH.......

Fichier joint  lahonte.jpg   105.05 Ko   3 téléchargement(s)

- Et sinon ?
- Bah plus je me ballade sur les forums et plus je me sens largué..... BOUH.......
- Bah c'est pas rigolo comme tuto !
- Ben non en fait : c'est le tuto d'un gars qui veut mener son projet à bien contre vent et marée...


- Et sinon ?
- Bah je suis toujours à chercher des arrays [x][y][z].... Voir plus...

- Et sinon ?
- Le ventilo de la carte mère a cramé.Ca à fait PSHhhh...
- C'est mort ?
- J'ai réussi à redémarrer. Tout ouvert. Un ventilo a fond. J'ai froid à l'oreille gauche.

Fichier joint  bouh.jpg   136.49 Ko   2 téléchargement(s)

- C'est tout ?
- Le PC y me dit qu'y'a pas de VRAM mais j'ai toujours 24 G de RAM.
- C'est quoi la VRAM ?
- Ch'ais pas.... Bouhhhh.....

- Et heuh... Une question pour ceux qui savent et qui sont là un peu par hasard :

Est-il possible de faire une liaison de mon champ texte ( nombre de réussites ) sur une variable
ou faut-il à chaque fois répéter : reussite.text=variablereussite;
Merci !

#8 pol2095

  • Members
  • PipPipPipPipPipPipPipPip
  • 1677 messages

Posté 12 December 2014 - 18:59 PM

Citation

Est-il possible de faire une liaison de mon champ texte ( nombre de réussites ) sur une variable
ou faut-il à chaque fois répéter : reussite.text=variablereussite;
il existe un moyen, il te faut binder ta variable, il ne faut pas en abuser.

#9 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 12 December 2014 - 19:11 PM

Salut Pol ! Java bien ?

Comment on fait.... c'est blinder ou binder ?
J'ai cherché !
Pas trouvé :-(

Mais bon... si faut pas en abuser... Pour des problèmes systèmes ?
Parce que sinon bah c'est sur que j'peux faire un enterframe mais bon...

Merci de la piste !

#10 pol2095

  • Members
  • PipPipPipPipPipPipPipPip
  • 1677 messages

Posté 12 December 2014 - 19:12 PM

c'est bindable avec flex

#11 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 12 December 2014 - 19:15 PM

Vu trouvé !
Merci pour Tes réponses efficaces. :smile:

#12 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 13 December 2014 - 16:44 PM

- Salut Etienne.
- Salut Etienne.
- Ca avance ? Parce que ce n'est pas vraiment un tuto !
- Bah c'est mon tuto : les problèmes rencontrés, les doutes auxquels nous sommes tous confrontés, c'est pas un tuto AS3 à proprement parlé !
Imagines un gars qui commence comme moi, ben il va se sentir moins seul ! Il va se dire : on y croit, on tape dans la bute !
- Et heuh, pas vraiment rigolo....
- Yo ! J'ai pas la prétention d'amuser la galerie mais si pour le moins je m'amuse ! J'trouve y'en a beaucoup qui se prenne la tête. Pas moi !
- Tu fumes ?
- Non : allergique. Bouhhh...

- Et le projet ?
- Bon ! La calculatrice c'est fini !
- En même temps c'est facile : c'est une calculatrice à une touche.
- Ouais mais pourquoi faudrait-il que se soit compliqué pour être amusant ? Tiens regarde :

Fichier joint  calcul.jpg   414.43 Ko   5 téléchargement(s)

- C'est ta calculatrice ? Tu l'as modélisé alors que tu n'as besoin que d'une vue de face ?
- Ouaips. Prendre le temps de faire les choses bien. Détail de reflet. Ce qui a de l'importance pour moi.
- Et sinon ?
- J'ai fini mon movieclip réussite :

Fichier joint  reussite.jpg   307.28 Ko   6 téléchargement(s)

- Bon le truc c'est que ça bouge donc c'est chouette !
- T'as fait comment...
- Alors le truc c'est que je commence à comprendre les classes.

Y'a des trucs qui bougent avec flash. Mais pour les confettis c'était un peu compliqué.
Alors je l'ai programmé, ça marchait mais pouvait mieux faire.
J'ai cherché dans les tutos.
et ça c'est top :
http://forums.mediab..._1_-_generateur
un truc à M. SPI.
Bon, j'ai pas tout compris mais j'ai téléchargé les classes flintparticle.
J'ai toujours pas tout compris mais ça marche ! C'est de la balle !

- Je vais pouvoir gérer la fumée de clope de la nana avec !
- Tu faisais comment avant ?
- Heuh.... des animations avec after effects.... Mais bon, ça prenait de la place.... De la bricole quoi...
- Donc tu progresses ! Cool.
- Bah oui. Content.
- Et maintenant ?

1. Comprendre addChild . J’utilise sans comprendre. Surtout : comment pointer l'un des objets créé.
2. Faire de la fumée pour approfondir les classes.
3. L'onglet Vaudou.

Fichier joint  vaudou.jpg   468.33 Ko   3 téléchargement(s)

- Ensuite ça devrait marcher tout seul !
- Tu crois ?
- Non... Je vais encore souffrir quelques temps mais après dis-donc : le pied ! Ca va être TOP !

#13 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 13 December 2014 - 17:51 PM

- eh... Etienne...
- Bah qu'est ce que tu fous là ?
- Ben c'est que... C'est bien les générateurs, mais bon... Ca rame !
- After effects.
- Pffffff.........

#14 draad

  • Members
  • PipPipPipPipPipPipPipPip
  • 653 messages

Posté 13 December 2014 - 18:33 PM

Si j'ai bien compris, c'est une application mobile que tu crée. Si c'est bien le cas, je te conseille de tester régulierement ton projet sur un device réel (iphone, tablette), pour voir si ca rame pas trop.

On se retrouve vite avec des problemes de mémoire ou de frame rate sur les petites plateformes, surtout quand on commence a ajouter des particules un peu partout.

#15 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 14 December 2014 - 12:09 PM

Merci Draad !

Je m'efforce de tester. faut surtout que je penses à virer régulièrement les enterFrame qui s'accumule.

Ou alors je change de Forum et m'inscrit sur Marie Claire Maison. A voir...

Ps. J'ai téléchargé Darkness Rising. Pas encore de pub ?

#16 draad

  • Members
  • PipPipPipPipPipPipPipPip
  • 653 messages

Posté 14 December 2014 - 21:00 PM

Il n'y a pas que les enterFrame a nettoyer, il faut surtout supprimer les instances des objets qui s'accumulent. Normalement, le garbage collector s'en occupe, mais il faut l'aider un peu, car il ne collecte que les instances dont il est sûr de l'inutilité. Si il a un doute, il ne nettoie pas !

Ce qui peut lui donner un doute, c'est par exemple , un event listener que tu n'a pas supprimé ou une variable qui pointe sur ton objet et qui n'a pas été mise a null.

Garde courage, tu peux y arriver. J'ai moi même appris tout ce que je sais sur ce forum en partant vraiment de zero, donc si moi j'y suis arrivé, c'est que n'importe qui le peut ! Il faut juste s'y tenir. Les conseils des personnes sur le forum sont très bons, et si tu suis les tutoriels ca t'aidera vraiment. Je pense a particulier a la suite de tutoriels écrits par Mr.Spi.


Concernant Darkness Rising, non il n'y a pas de pub dedans. Je sais pas quel device tu utilise, mais c'est typiquement l'exemple d'un jeu qui a des problèmes de mémoire. Les temps de chargement sont trop longs, la gestion du garbage collector est deffectueuse ce qui occasionne des crash ou des problèmes de performance sur la majorité des devices que j'ai pu essayer. Faudrait que je trouve la motivation de repasser sur tout mon code pour nettoyer ça !

Aussi, un detail en passant, mais qui a été une surprise pour moi la premiere fois. SI tu fais une application pour IOS, en plus de l'abonnement de 100$ en tant que developeur a apple, tu dois obligatoirement avoir un mac pour poster ton application.

#17 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 15 December 2014 - 09:44 AM

Re-Merci Draad !

C'est tout à fait ça : prouver que sous Flash avec persévérance ou peut sortir un truc !

Mais vais poser ma question sur le forum : que cela puisse en aider d'autres.
Et reviendrais ici même condenser mes réponses...

#18 draad

  • Members
  • PipPipPipPipPipPipPipPip
  • 653 messages

Posté 15 December 2014 - 13:53 PM

Citation

C'est tout à fait ça : prouver que sous Flash avec persévérance ou peut sortir un truc !

Flash ne nous a pas attendu pour prouver son efficacité. Je pense que tu as mal interprété mes propos, la persévérance concernait plus le fait d'apprendre la programation (en l'occurence en AS3 sur ce forum), mais flash a encore de très belles années devant lui je pense, et en a déjà eu un paquet.

#19 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 253 messages

Posté 22 October 2016 - 10:51 AM

Bonjour,
Il y a des gens encore ici en 2016 ?

Bah moi mon patron il m'a proposé de travailler plus pour gagner moins.
C'est un peu ça cette putain de Vintage Crazy Life.

Alors j'ai dit non.
Alors je me replonge avec délice dans mon projet.
Toujours sous flah, toujours sur la timeline, scripté avec les pieds.

Mais ca va marcher !!!



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP