CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Actionscript]Scrolling souris

fil_razorback
fil_razorback
Niveau 10
09 avril 2005 à 22:16:49

Hello, tout d´abors je tiens à dire que je suis très fier de moi, j´ai codé un truc qui marche du premier coup :-p
Bon ok c´etait pas dur: le but est de déplacer une tile based map isometrique quand la souris est aux bords de l´ecran ( comme dans un RTS);
Donc ca marche et ca j´en suis heureux;
J´ai fixé la dimension de mes maps à 16*12 Tiles, et quand je scroll, ca ralentit ( légèrement mais trop pour laisser comme ca), vu que ca fait beaucoup à deplacer d´un coup; je ne tiens pas à m´em***** a faire un systeme qui n´affiche que les tils visibles et compagnie, pour 16*12 ca vaut surement pas la peine; je cherche donc un moyen d´optimiser ca sans trop me prendre la tete:
function scroll() {
sourisX = _root._xmouse;
sourisY = _root._ymouse;
clipX = getProperty(_root.clip, _x);
clipY = getProperty(_root.clip, _y);
if ( sourisX>310) {
setProperty("_root.clip", _x, clipX-3);
} else if ( sourisX<10) {
setProperty("_root.clip", _x, clipX+3);
}
if ( sourisY>150) {
setProperty("_root.clip", _y, clipY-3);
} else if ( sourisY<10) {
setProperty("_root.clip", _y, clipY+3);
}
}
setInterval(scroll, 2);

( note que ca marche impec avec une petite map )

Merci d´avance

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 09:44:45

Je suis pas sur mon pc mais j´ai pas pu tester mais si je passe pas les coordonnées de la souris en variable ca sera peut etre un tout petit peu mieux..ca ferait ca :

function scroll() {

clipX = getProperty(_root.clip, _x);
clipY = getProperty(_root.clip, _y);

if ( _root._xmouse>310) {
setProperty("_root.clip", _x, clipX-3);
} else if ( _root._xmouse<10) {
setProperty("_root.clip", _x, clipX+3);
}
if ( _root._ymouse>150) {
setProperty("_root.clip", _y, clipY-3);
} else if ( _root._ymouse<10) {
setProperty("_root.clip", _y, clipY+3);
}
}
setInterval(scroll, 2);

NaN
NaN
Niveau 5
10 avril 2005 à 10:16:53

Salut, si tu veux bien poster ton . fla je veux bien jeter un oeil. Sinon pourquoi n´utilises pas la syntaxes à points ?
function scroll() {
clipX = _root.clip._x;
clipY = _root.clip. _y;
if ( _root._xmouse>310) {
_root.clip._x=clipX-3;
} else if ( _root._xmouse<10) {
_root.clip._x=clipX+3;
}
if ( _root._ymouse>150) {
_root.clip._y=clipY-3;
} else if ( _root._ymouse<10) {
_root.clip._y=clipY+3;
}
}
setInterval(scroll, 2);

ça ne va surement pas améliorer la fluidité mais je trouve le code plus clair ( et plus léger)

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 10:23:56

Je posterai mon . fla en fin de matinée/debut d´apres midi ( ma chambre est occupée la, suis pas sur mon pc :( ) mais je pense pas que ca aidera beaucoup.

Concernant la syntaxe à points, effectivement c´est plus court je ferai le changement

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 11:00:57

J´ai réinvesti mon pc et fait le changement, la bonne nouvelle c´est que quand je teste en mode fenetre ( 320*240, la taille du jeu) ca ne rame pratiquement plus et peut rester tel quel...mais ca risque de dependre de la machine sur laquelle on joue non?

NaN
NaN
Niveau 5
10 avril 2005 à 11:15:42

Oui, Flash est très gourmand pour les petites configs. Et si tu n´en es qu´au début du jeu ça ne peut qu´empirer en rajoutant des symboles et autres scripts. Tu ne peux toujours pas poster ton . fla ? J´aimerais bien y jeter un oeil.

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 11:20:23

Si si, je poste ca tout de suite, j´upload^^

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 11:21:23

http://mickledingue.free.fr/filrazorback/hsite/Mapiso_random.fla

NaN
NaN
Niveau 5
10 avril 2005 à 11:23:06

Je crois que tu peux encore simplifier ton code :
function scroll() {
if ( _root._xmouse>310) {
_root.clip._x-=3;
} else if ( _root._xmouse<10) {
_root.clip._x+=3;
}
if ( _root._ymouse>150) {
_root.clip._y-=3;
} else if ( _root._ymouse<10) {
_root.clip._y+=3;
}
}
setInterval(scroll, 2);

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 11:31:06

ouaip ca marche toujours,
mais ca risque d´etre moyen sur les petites configs or j´aimerai de leur rendre le jeu accessible;
Je sais pas trop quoi faire, ne pas afficher certains tiles serait vraiment de la perte de temps je pense non?

NaN
NaN
Niveau 5
10 avril 2005 à 11:47:58

Chez moi ça va presque trop vide avec en mode fenêtré 320*240. ( athlon 2600+) - donc ça me semble correct. Je dis peut-être une bêtise mais est-ce qu´il ne serait pas plus logique de mettre ton animation en 24 frames/sec. et ton setInterval à 1 ?

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 11:51:47

euh..ca changerai quoi?

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 11:57:02

Je veux dire ca reviendrai exactement au meme non?

NaN
NaN
Niveau 5
10 avril 2005 à 12:03:28

Heu désolé ce serait plutôt setInterval à 4 pour obtenir le même résultat. Mais de manière générale il me semble que choisir un framerate bas peut te limiter dans la fluidité et dans la vitesse d´exécution des scripts ( même si le moteur de Flash n´est pas toujours capable de suivre le Framerate demandé).
Sinon j´ai vu que tu utilises en partie des graphismes vectoriels, il semblerait que cela ralentisse considérablement les animations.

NaN
NaN
Niveau 5
10 avril 2005 à 12:06:01

Sinon oui ça reviendrait au même. Mais qui peut le plus peut le moins comme on dit.

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 12:29:35

Je vais laisser mes tiles en bitmap alors, je te dirai apres ce que ca donne...

NaN
NaN
Niveau 5
10 avril 2005 à 12:37:06

Je n´en suis absolument pas sûr, mais il me semble qu´avec ce code la fluidité est légèrement améliorée :
this.onEnterFrame=function() {
clipX = _root.clip._x;
clipY = _root.clip._y;
if ( _root._xmouse>300) {
_root.clip._x = clipX-6;
} else if ( _root._xmouse<15) {
_root.clip._x = clipX+6;
}
if ( _root._ymouse>140) {
_root.clip._y = clipY-6;
} else if ( _root._ymouse<15) {
_root.clip._y = clipY+6;
}
}

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 12:41:02

raté, c´est plus lent lol;
Je referai mes tiles d´eau cette apres midi ( ca tombe bien, on m´a dit qu´ils etaient trop clairs)

NaN
NaN
Niveau 5
10 avril 2005 à 12:55:56

ah oui. c´est avec ce code + 24 fps.
bon refaisage de tiles alors.

fil_razorback
fil_razorback
Niveau 10
10 avril 2005 à 12:57:27

ah ok, je ferai l´essai; merci, les tiles c´est chiant :)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment