Discuss Scratch

ma33-ma
Scratcher
500+ posts

Helpeuu!

Projet concerné : Scratch smash
J'ai un bug qui fais que sur certains appareils (qui rament un peu généralement) lorsque l'on appuis sur une touche lors d'un combat de manière continu, au bout d'un certain temps le je ralenti progressivement jusqu'a freeze. si qlqn pouvait retrouver l'origine du bug je lui en serais reconnaissant (avec crédit si vous voulez). ce bug n'est pas present sur la ]version prècedente et le mise à jour récentes d'optimisation n'y on rien fais.
Merci d'avance à tous ce qui essayerons d'aider (et aux autre js généreux )

Joyeuse pâques!

PS: je commenterai un peu le code si il le faut…
PS2(comme la console): JPP mettre le lien du projet donc voici le studio(2ème et 3ème projets)

Last edited by ma33-ma (Feb. 20, 2026 19:11:05)

Lu_Li_49
Scratcher
500+ posts

Helpeuu!

Le projet est gigantesque (~15 000 blocs si je ne me suis pas trompé de projet) peux-tu nous dire où se trouve précisément le bug en jeu ?
ma33-ma
Scratcher
500+ posts

Helpeuu!

Lu_Li_49 wrote:

Le projet est gigantesque (~15 000 blocs si je ne me suis pas trompé de projet) peux-tu nous dire où se trouve précisément le bug en jeu ?
Tu lance une partie (peu importe 2 joueurs ou 1 c'est le meme moteur) puis tu appuie sur une touche et tu la maintient : si ton PC rame il devrai freeze (le jeu) peu a peu
Lu_Li_49
Scratcher
500+ posts

Helpeuu!

Le projet c'est bien ScratchSmash 1.11? J'ai fait solo, training et pourtant rien ne se passe.
samoht1616
Scratcher
100+ posts

Helpeuu!

la même chose
ma33-ma
Scratcher
500+ posts

Helpeuu!

samoht1616 wrote:

la même chose
Je m'en doutais un peu essayer si vous le pouvez, trouvez un très vieux PC qui rame bcp (RIP mon PC)

Last edited by ma33-ma (Feb. 20, 2026 20:55:33)

samoht1616
Scratcher
100+ posts

Helpeuu!

ok alors je vais tester avec 4gb de RAM
wilhelm43
Scratcher
1000+ posts

Helpeuu!

Je n'ai pas regardé mais ta réponse va guider ma recherche : ton projet utilise des clones ? Des messages ? Des listes ?
ma33-ma
Scratcher
500+ posts

Helpeuu!

wilhelm43 wrote:

Je n'ai pas regardé mais ta réponse va guider ma recherche : ton projet utilise des clones ? Des messages ? Des listes ?
Des clones : oui mais en quantité raisonnable (pour les particules et les “power-up”)
Des messages : oui plein
Des listes : oui bcp de listes de données froides pour les spécification des attaques…
Lu_Li_49
Scratcher
500+ posts

Helpeuu!

Je l'ai lancé sur mon vieil ordinateur (HP Laptop 17-bs058nf) et pourtant ça fonctionne parfaitement (peut-être parce que je suis sur Linux ?).

Last edited by Lu_Li_49 (Feb. 21, 2026 13:56:29)

samoht1616
Scratcher
100+ posts

Helpeuu!

Non moi il y a bien le bug (sur un macbook pro 2010) et je suis aussi sur Linux (mint).

Last edited by samoht1616 (Feb. 21, 2026 14:12:02)

ma33-ma
Scratcher
500+ posts

Helpeuu!

Bon ben jsp peut être avec un générateur de lag
samoht1616
Scratcher
100+ posts

Helpeuu!

Générateur de lag ?
ma33-ma
Scratcher
500+ posts

Helpeuu!

samoht1616 wrote:

Générateur de lag ?
define lag WSR
repeat (bcp de fois)
next costume
end
dans la boucle de code

Last edited by ma33-ma (Feb. 21, 2026 15:29:27)

ma33-ma
Scratcher
500+ posts

Helpeuu!

Je sais pas trop quoi en penser, j'ai moi-même fais des tests sur d'autres PC et ça marchait, ça doit être un problème avec mon clavier (bizarre) ou mon PC (ce qui est embetant pck c'est moi qui dev le jeu quand même)
Merci quand même
IMAG0
Scratcher
1000+ posts

Helpeuu!

Je pense que ton projet est tellement complexe que tu a atteint les limites de scratch en matière de messages et de conditions imbriqués. Au bout d'un moment scratch se mélange les pinceaux et crée des bugs irresolvables.
Ce que je vais dire est à prendre avec des pincettes :
La limite de messages semble intervenir lorsque beaucoup de messages sont utilisés et semble pouvoir résolu en appuyant plusieurs fois sur le drapeau vert. Si on ne le fait pas, seulement une partie des messages semble se charger.
La limite de conditions semble apparaître quand on a de nombreuses conditions comme ceci :
quand je reçois [message 1 v]
Si <> alors
end
Si <> alors
end
Si <> alors
end
Si <> alors
end
Si <> alors
end
Au bout d'un moment le code ne se charge parfois plus.
Ma solution est de mettre les codes en parallelisme bien que ça puisse créer des lags ou d'autres problèmes du genre.
Ces bugs sont peut être à l'origine du bug de clavier et sont probablement liés au matériel utilisé pour faire tourner le jeu.

Last edited by IMAG0 (Feb. 24, 2026 06:54:48)

ma33-ma
Scratcher
500+ posts

Helpeuu!

#16 donc si je comprend bien tu propose de faire plusieurs boucles de code?
when green flag clicked
forever
broadcast [bcp de message v]
end
=>
when green flag clicked
forever
broadcast [peu de messages v]
end

when green flag clicked
forever
broadcast [peu de messages v]
end
when green flag clicked
forever
broadcast [peu de messages v]
end
IMAG0
Scratcher
1000+ posts

Helpeuu!

non, plutôt :
quand je reçois [message 1 v]
si <> alors
end
si <> alors
end
si <> alors
end
si <> alors
end
si <> alors
end
=>
quand je reçois [message 1 v]
si <> alors
end

quand je reçois [message 1 v]
si <> alors
end

quand je reçois [message 1 v]
si <> alors
end

quand je reçois [message 1 v]
si <> alors
end
Ça c'est pour les conditions.
Pour les messages je ne sais pas comment faire

Last edited by IMAG0 (Feb. 24, 2026 13:17:18)

ma33-ma
Scratcher
500+ posts

Helpeuu!

#18 je vais essayer
wilhelm43
Scratcher
1000+ posts

Helpeuu!

Il n'y a pas de limitations d'empilements sur Scratch - l'exécuteur de ce dernier est conçu pour déferrer les calculs gourmands si nécessaire.

ma33-ma wrote:

(#9)
Des clones : oui mais en quantité raisonnable (pour les particules et les “power-up”)
Des messages : oui plein
Des listes : oui bcp de listes de données froides pour les spécification des attaques…
Dans ce cas, vérifie que :
  • tes clones ne créent pas de clones en boucles
  • tes listes restent bien fixes, que tu n'utilise pas un pseudo-dictionnaire conséquent
  • organise tes messages avec un message global
  • attention aux collisions de la programmation concurrentielle (les messages) ! même si c'est d'une mocheté sans pareille je recommande fortement de créer vos projets dans un seul sprite (si possible) sans clones (-> stylo) pour éviter de devoir gérer les collisions et conflits de ce paradigme

J'imagine qu'appuyer sur une touche envoie un message ?

Powered by DjangoBB