Accueil > Forum > > > > Rebond dans un cercle
Rebond dans un cercle
mardi 6 juillet 2004 à 15:36:11 |
Rebond dans un cercle

firfelin
|
Rebonjour, Encore un truc qui devrait être tout simple et que j'arrive pas à faire... O_o Comment faire pour faire rebondir des trucs à l'intérieur d'un cercle? Un rectangle, ça j'arrive sans problème, mais un cercle, je vois pas... Des idées, des exemples? Merci Mangez un castor, sauvez un arbre
|
|
vendredi 16 juillet 2004 à 02:43:04 |
Re : Rebond dans un cercle

BlackWizzard
|
j'avais codé un proto a partir d'une source d'alcys... etant donné que c'est un proto, ça fonctionnera que sous MX6, sauf si tu compile en AS1 sous 2004. donc, sur le _root, tu met ça: _root.aTest = new Array(); function init_rebond(object, bool) { object.vx = 2; object.vy = -2; object.k = -1; object.r = 10; object.r2 = object.r - 2; object.inca = 0.08; object.drag = false; object.hit = bool; } function rebond(object, map) { if (!object.drag) { anx = object._x; any = object._y; long = Math.sqrt(object.vx * object.vx + object.vy * object.vy); nn = Math.floor(long / object.r2); px = object.vx * object.r2 / long; py = object.vy * object.r2 / long; for (i = 1; i <= nn + 1; i++) { if (i <= nn) { x = anx + i * px; y = any + i * py; } else { x = anx + object.vx; y = any + object.vy; } if (map.hitTest(x, y, true) == object.hit) { anx += (i - 1) * px; any += (i - 1) * py; rebondir(object, map); break; } else { if (i == nn + 1) { afficher(object, map); } } } } else { anx = x; any = y; x = object._x; y = object._y; object.vx = x - anx; object.vy = y - any; } } angle = function (aa, inc, object, map) { do { t1 = map.hitTest(anx + Math.cos(aa) * object.r, any + Math.sin(aa) * object.r, true); t2 = map.hitTest(anx + Math.cos(aa + inc) * object.r, any + Math.sin(aa + inc) * object.r, true); aa += inc; } while ((aa < 6.28) && ((t1 && t2) || (!t1 && !t2))); return (t1 != object.hit) ? aa - inc : aa; }; rebondir = function (object, map) { for (i = 1; i < 3; i++) { x0 = (x + anx) / 2; y0 = (y + any) / 2; if (map.hitTest(x0, y0, true) == object.hit) { x = x0; y = y0; } else { anx = x0; any = y0; } } a = angle(0, object.inca, object, map); if ((aa >= 6.28) || (t1 && t2) || (!t1 && !t2)) { object.vx *= -1; object.vy *= -1; x = anx; y = any; } else { ca = Math.cos(a); sa = Math.sin(a); tpx = -sa * object.k * (-object.vx * sa + object.vy * ca) + ca * (object.vx * ca + object.vy * sa); object.vy = ca * object.k * (-object.vx * sa + object.vy * ca) + sa * (object.vx * ca + object.vy * sa); object.vx = tpx; long = Math.sqrt(object.vx * object.vx + object.vy * object.vy); } afficher(object, map); }; afficher = function (object, map) { object._x = anx + object.vx; object._y = any + object.vy; }; /*########################################################################## FIN REBOND */ function addtoActives(object) { _root.aTest.push(object); } function checkActives(object) { for (i = 0; i <= (_root.aTest.length); i++) { obj = eval(_root.aTest[i]); _root.rebond(object, obj); //_root.konsole.text = _root.aTest.toString(); } }
|
puis, dans le code du clip censé rebondir: onClipEvent(enterFrame) { _root.rebond(this, _root.map); } onClipEvent(load) { _root.init_rebond(this,true); }
|
Pour que ça fonctionne, donc compile en AS1, et appele le clip qui sert de limite aux rebond "_root.map" amuse toi... [BlackWizzard] [http://www.blackwizzard.net]
|
|
lundi 19 juillet 2004 à 09:34:09 |
Re : Rebond dans un cercle

firfelin
|
Une belle solution comme ça, servie sur un plateau:-) Que dire..., à part merci infiniment. Tu viens de gagner ta place dans mon panthéon personnel:-) Il m'aurait fallu des années pour commencer à entrapercevoir un début d'esquisse de possibilité aussi bien foutue...
Mangez un castor, sauvez un arbre
|
|
lundi 19 juillet 2004 à 16:57:48 |
Re : Rebond dans un cercle

BlackWizzard
|
lol c alsys qu'il faut remercier! moi je n'ai fait que transformer son code en proto ;) [BlackWizzard] [http://www.blackwizzard.net]
|
|
Cette discussion est classée dans : arrive, cercle, rebond
Répondre à ce message
Sujets en rapport avec ce message
j'arrive pas a modifier une source!!!! [ par jph ]
j'arrive pas a modifier une source!!!!je fais la modif mais il ne la prend pas en compte
Utilisation de GotoAndPlay, Goto et GotoAndStop [ par cass74 ]
Bonjour,Je débute avec flash et je n'arrive pas à utiliser les actions de controle de l'animation depuis un clip sur la séquence en cours.J'arrive à l
Flash Enter [ par AEROSTYLE ]
Bonjour,je sais que ça a peut être l'air idiot, mais je n'y arrive pas :J'ai un fond d'écran animé et j'aimerais que lorsqu'on appuye sur la touche EN
Je suis débutante et ... [ par HFanny ]
Bonjour à ceux qui liront mon message,je suis en train de faire un site internet et j'aimerais que lorsque je clique sur un graphique, une photo appar
clip [ par wheel46 ]
ca fais 4 jours que je suis sur ca et je commence a vraiment en avoir plein le c.. il faut que j'arrive a mettre un photo d'un clip qui se trouve dans
Chargement, je n'arrive pas a cree une sequence chargement pour mon animation HELP ! [ par FlashN30 ]
salut,g un pb je sais po comment cree une sequence de chargement, mon animation est prete mais elle dure 30s deplus y'a de la sic !!!svp merci B3N
scrollbar [ par flashman007 ]
ben voila il m'arrive un truc con : j'arrive ^pas a reduire la taille d'une scrollbar!!Mais comment k'ca se fait????hugo the best now and forever
rebond proportionnelle ???? HELP [ par kodiask ]
bonjour remoi dsl mais si kelkunpourrai expliker comment faire un rebond sur une barre ki sera effectuer par raport a lendroit ou la balle touche la b
coment fé pour kan score arrive 0 va a la pg 2 [ par neo33 ]
bonjour je suis entrain de faire un jeu de plateforme style marioet j'aimerai savoir comment faire pour ke quand le score arrive a zero sa aille a la
Morphing entre 2 images [ par kinouseb ]
Est-il possible de faire un morphing entre 2 images.J'y arrive entre un rond et un carré, mais je n'y arrive pas avec 2 images.Merci de votre aideSéba
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|