La toile est cool ! - page 15

 
Реter Konow:

Oui, c'est très bien. Formes de qualité des cercles.

Mais, vous utilisez la classe CCanvas, et là les coordonnées sont définies en int.

Je n'utilise pas la classe CCanvas pour les cercles lissés, mais ma propre classe de type double.

 
Реter Konow:

Et ResourseFree() ?

ResourceFree ne fonctionne que pour les ressources dont vous connaissez le nom. En outre, la ressource ne peut être tuée qu'à partir du programme qui l'a créée. Comme il est en lecture seule pour les autres.

 
Nikolai Semko:

Je n'utilise pas une classe CCanvas pour les cercles lisses, mais ma propre classe avec le type double

Et comment vont-ils se déplacer si vous les empêchez de changer de taille ?

 
fxsaber:

Eh bien, pour une raison quelconque, ça n'a pas marché, car il me restait tout.

Je n'ai pas travaillé avec trop de zèle sur le code de flamme. Des situations anormales apparaissent. Si elle se termine par une erreur, c'est qu'elle n'a pas atteint le destructeur.

ZS Je vais dans les objets dans ce cas. J'appuie sur "tout", je cherche mon bitmap et je le supprime. Seulement voilà, est-ce que ça supprime vraiment le rusurus dans ce cas ?

 
fxsaber:

ResourceFree ne fonctionne que pour les ressources dont vous connaissez le nom. En outre, la ressource ne peut être tuée qu'à partir du programme qui l'a créée. Comme il est en lecture seule pour les autres.

Le développeur doit donc prévoir ce problème. Donner à l'utilisateur la possibilité de détruire la ressource en définissant une des propriétés de l'objet qui porte cette ressource. Par exemple, le script vérifie

ObjectGetInteger(0,"MT object",OBJPROP_SELECTED);

et lorsque l'utilisateur définit la propriété de l'objet

ObjectSetInteger(0,"MT object",OBJPROP_SELECTED,1);

Le script détruit la ressource et efface son objet.

 
Реter Konow:

Comment vont-ils bouger si vous arrêtez de les redimensionner ?

Réglez les deux derniers paramètres à la même valeur lorsque vous exécutez le script (taille max = taille min) et les cercles ne changeront pas de taille, ils se déplaceront seulement en douceur parce qu'ils ont une double coordonnée.

 
Nikolai Semko:

Réglez les deux derniers paramètres à la même valeur (taille max = taille min) et les cercles ne changeront pas de taille, mais se déplaceront seulement en douceur, car ils ont une double coordonnée.

Oui, ils se déplacent plus facilement que les cercles basés sur des coordonnées int. Mais c'est peut-être parce que le cercle lui-même est plus lisse. En d'autres termes, les secousses sont moins perceptibles.

 
Dmitry Fedoseev:

Il existe de nombreuses bibliothèques 3D écrites en JavaScript depuis une centaine d'années. Le moyen le plus simple et le plus direct est de les réécrire de là à ici.

Pas pendant 100 ans, bien sûr, mais pendant quelques années.

J'ai essayé - ça n'a pas marché. Le tout sous la forme illisible d'une seule ligne continue. C'est difficile d'y voir clair. C'est plus facile de le faire soi-même.

 
Реter Konow:

Oui, ils se déplacent plus facilement que les cercles basés sur des coordonnées int. Mais c'est peut-être parce que le cercle lui-même est plus lisse. En d'autres termes, les secousses sont moins perceptibles.

Peter. Vous dites n'importe quoi. Je sais de quoi je parle, car je suis un créateur à 100% de ces algorithmes de cercle. Faites confiance à vos yeux, pas à votre mentalité d'intello.

Voici les spécifications de ce cercle :

void   iCanvas::iCircle(double  x,double  y,double  r,uint clr=255)
 
Nikolai Semko:

Peter. Tu dis n'importe quoi. Je sais de quoi je parle, car je suis moi-même à 100% le créateur de ces algorithmes de cercle. Faites confiance à vos yeux, pas à votre mentalité d'intello.

Très bien. Si vous le dites.

Raison: