A lona é legal! - página 15

 
Реter Konow:

Sim, parece muito bom. Formas de círculos de qualidade.

Mas, você está usando a classe CCanvas, e aí as coordenadas são definidas em int.

Eu não uso a classe CCanvas para círculos alisados, mas minha própria classe com tipo duplo

 
Реter Konow:

E ResourseFree() ?

ResourceFree só funcionará para recursos cujo nome você conhece. Além disso, o recurso só pode ser morto a partir do programa que o criou. Como é somente leitura para os outros.

 
Nikolai Semko:

Eu não uso uma classe CCanvas para círculos suaves, mas minha própria classe com tipo duplo

E como eles se moverão se você os impedir de mudar de tamanho?

 
fxsaber:

Bem, então por alguma razão não funcionou, pois eu ainda tinha tudo.

Não trabalhei muito no código das chamas. Surgem situações anormais. Se terminou com um erro, então simplesmente não chegou ao destruidor.

ZS Eu entro em objetos nesse caso. Eu aperto "tudo" e procuro por meu bitmap e o apago. A única coisa é que, nesse caso, o rusurus é realmente eliminado?

 
fxsaber:

ResourceFree só funcionará para recursos cujo nome você conhece. Além disso, o recurso só pode ser morto a partir do programa que o criou. Como é somente leitura para os outros.

Portanto, o desenvolvedor deve providenciar para esta questão. Dar ao usuário a possibilidade de destruir o recurso, definindo uma das propriedades do objeto que transporta este recurso. Por exemplo, o roteiro verifica

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

e quando o usuário define a propriedade do objeto

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

O roteiro destrói o recurso e apaga seu objeto.

 
Реter Konow:

Como eles se moverão se você parar de redimensioná-los?

Quando você executar o script, defina os dois últimos parâmetros para o mesmo valor (tamanho máximo = tamanho mínimo) e os círculos não mudarão de tamanho, mas somente se moverão suavemente, pois eles têm uma coordenada dupla.

 
Nikolai Semko:

Ajuste os dois últimos parâmetros para o mesmo valor (tamanho máximo = tamanho mínimo) e os círculos não mudarão de tamanho, mas só se moverão suavemente porque têm coordenadas duplas.

Sim, eles se movem mais suavemente do que círculos baseados em coordenadas int. Mas talvez isto se deva ao fato de que o círculo em si é mais suave. Em outras palavras, é possível notar menos solavancos.

 
Dmitry Fedoseev:

Há muitas bibliotecas em 3D escritas em JavaScript há já cem anos. A maneira mais fácil e direta é reescrevê-los de lá para cá.

Não por 100 anos, é claro, mas por alguns.

Experimentei-o - não funcionou. Tudo de forma não legível como uma linha única contínua. É difícil fazer cabeças ou rabos dela. É mais fácil fazê-lo você mesmo.

 
Реter Konow:

Sim, eles se movem mais suavemente do que círculos baseados em coordenadas int. Mas talvez isso seja porque o círculo em si é mais suave. Em outras palavras, há menos tremores perceptíveis.

Peter. Você está falando bobagens. Sei do que estou falando, pois sou 100% um criador desses algoritmos de círculo. Confie em seus olhos, não em sua mentalidade nerd.

Aqui está a especificação para este círculo:

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

Peter. Você está falando bobagens. Eu sei do que estou falando, pois eu mesmo sou 100% o criador desses algoritmos de círculo. Confie em seus olhos, não em sua mentalidade nerd.

Tudo bem. (risos) Se você o diz.