次の方法で共有


IAgentCharacterEx::GetAnimationNames

[Microsoft エージェントは Windows 7 の時点で非推奨となり、以降のバージョンの Windows では使用できない可能性があります。]

HRESULT GetAnimationNames(
   IUnknown ** punkEnum // address of IUnknown interface
);

文字のアニメーション名を取得します。

  • 操作が成功したことを示す S_OK を返します。

IUnknown

キャラクターのアニメーション コレクションの IUnknown インターフェイスのアドレス。

この関数を使用すると、文字のアニメーションの名前を列挙できます。 コレクション内の項目にはプロパティがないため、個々の項目に直接アクセスすることはできません。 コレクションにアクセスするには、IEnumVARIANT インターフェイスの punkEnum を照会します。

IEnumVARIANT pEnum;
VARIANT vAnimName;
DWORD dwRetrieved;

hRes = punkEnum->QueryInterface(IID_IEnumVARIANT, (LPVOID *)&pEnum);

if (SUCCEEDED(hRes)) {

    while (TRUE) {

         hRes = pEnum->Next(1, &vAnimName, &dwRetrieved);

         if (hRes != NOERROR)
            break;

         // vAnimName.bstrVal is the animation name

         VariantClear(&vAnimName);
    } 

    pEnum->Release();
}

punkEnum->Release();

手記

ACF 文字の場合、コレクションは、Get メソッドを使用して取得されたアニメーションに追加して、その文字に対して定義されているすべてのアニメーションを返します。