Ligne de code bizarre

Mathieu -  
 Mathieu -
Bonjour à vous,

Je transcrit du code C++ en actionscript et une façon d'écrire en C++ me chatouille les neurones .....

union AnimFrame
{
struct
{
BYTE Valid;
BYTE Total;
};

short Value;
};

AnimValue = (AnimFrame *)((BYTE *)Anim + Anim->Offset[Loop + 3]);
long Index = Frame;
while (AnimValue->Total <= Index)
{
Index -= AnimValue->Total;
AnimValue += AnimValue->Valid + 1;
}

Je ne comprend pas ce que fait la ligne en Gras ....

J'ai tenté plus chose mais il en resulte des bugs donc je ne pense pas avoir trouvé la signification de cette ligne ou j'ai une erreur ailleurs.


Une ame charitable pourrait aider un pauvre codeur qui se promene dans un language qui n'est pas le sien ?

Merci

A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
x -> y
est équivalent à
(*x).y
ton code récupère donc juste la valeur de Valid
0
Mathieu
 
Merci de ta réponse,

AnimValue += AnimValue->Valid + 1;

Ce que j'ai du mal à comprendre dans cette syntaxe c'est que AnimValue est un 'tableau' de structure
AnimValue->Valid fait référence à AnimValue[0]->Valid en fait

C'est l'incrémentation du tableau avec la valeur AnimValue->Valid + 1 qui me bloque, je ne sait pas à quoi l'assigner.

C'est un truc tout con je suis sure mais je voit pas.
0