El lienzo es genial. - página 15

 
Реter Konow:

Sí, tiene muy buena pinta. Formas de calidad de los círculos.

Pero, estás usando la clase CCanvas, y allí las coordenadas se establecen en int.

No uso la clase CCanvas para los círculos suavizados, sino mi propia clase con el tipo double

 
Реter Konow:

¿Y ResourseFree() ?

ResourceFree sólo funcionará para los recursos cuyo nombre conozcas. Además, el recurso sólo puede ser eliminado desde el programa que lo creó. Como es de sólo lectura para los demás.

 
Nikolai Semko:

No utilizo una clase CCanvas para los círculos lisos, sino mi propia clase con tipo double

¿Y cómo se moverán si se impide que cambien de tamaño?

 
fxsaber:

Pues bien, por alguna razón no funcionó, ya que me quedaba todo.

No he trabajado con demasiado celo en el código de la llama. Se producen situaciones anómalas. Si terminó con un error, entonces no llegó al destructor.

ZS En ese caso voy a los objetos. Pulso "todo" y busco mi mapa de bits y lo borro. Lo único es que, ¿realmente elimina el rusurus en ese caso?

 
fxsaber:

ResourceFree sólo funcionará para los recursos cuyo nombre conozcas. Además, el recurso sólo puede ser eliminado desde el programa que lo creó. Como es de sólo lectura para los demás.

Por lo tanto, el desarrollador debe prever esta cuestión. Dar al usuario la posibilidad de destruir el recurso estableciendo una de las propiedades del objeto que lleva este recurso. Por ejemplo, el script comprueba

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

y cuando el usuario establece la propiedad del objeto

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

El script destruye el recurso y borra su objeto.

 
Реter Konow:

¿Cómo se moverán si dejas de redimensionarlas?

Cuando ejecute el script, ponga los dos últimos parámetros al mismo valor (tamaño máximo = tamaño mínimo) y los círculos no cambiarán de tamaño, sino que se moverán suavemente, porque tienen una coordenada doble.

 
Nikolai Semko:

Si los dos últimos parámetros tienen el mismo valor (tamaño máximo = tamaño mínimo), los círculos no cambiarán de tamaño, sino que se moverán suavemente, ya que tienen una coordenada doble.

Sí, se mueven más suavemente que los círculos basados en coordenadas int. Pero quizás esto se deba a que el círculo en sí es más suave. En otras palabras, se notan menos las sacudidas.

 
Dmitry Fedoseev:

Hay un montón de bibliotecas 3D escritas en JavaScript desde hace cien años. La forma más fácil y directa es reescribirlos de allí a aquí.

No durante 100 años, por supuesto, sino unos cuantos.

Lo intenté, pero no funcionó. Todo en forma ilegible como una sola línea continua. Es difícil hacer un análisis de la situación. Es más fácil hacerlo uno mismo.

 
Реter Konow:

Sí, se mueven más suavemente que los círculos basados en coordenadas int. Pero tal vez sea porque el propio círculo es más suave. En otras palabras, hay menos contracciones notables.

Peter. Estás diciendo tonterías. Sé de lo que hablo, ya que soy un creador al 100% de estos algoritmos de círculo. Confía en tus ojos, no en tu mentalidad de empollón.

Aquí está la especificación de este círculo:

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

Peter. Estás diciendo tonterías. Sé de lo que hablo, ya que yo mismo soy el creador al 100% de estos algoritmos de círculo. Confía en tus ojos, no en tu mentalidad de empollón.

Muy bien. Lo que tú digas.