Lugh scrie: ↑
Sunt cateva functii lipsa daca ai vrea sa le lasi, e vorba de functiile pentru text_x/y, calculateRect , anumite dependente care nu sunt specificate in
tutorial, personal am avut de unde sa fac rost in afara de functiile de text_x/y
Mai jos aveti completari pentru a face
sistemul complet functional!
- In primul rand, este necesar sa instalati add-on-ul lui Mali "Clipmask" - Official Clip Masking [REVERSED] :
Reacționează

la acest mesaj și conținutul se va afișa automat.
- Dupa care faceti ce e in arhiva din postarea lui
@xarazel
- Apoi, revino la comentariul asta si fa ce e mai jos. Vei gasi functiile lipsa + 3
fix-uri.
Lipsa functii:
Reacționează

la acest mesaj și conținutul se va afișa automat.
Pentru eroarea:
'Button' object has no attribute 'SetTextAlignLeft'
Adaugati in
class Button:
Reacționează

la acest mesaj și conținutul se va afișa automat.
Rezolvari probleme
1) Animatie text:
Deschidem
uiadvancedoptions.py si cautam:
Mai jos gasim si stergem:
Reacționează

la acest mesaj și conținutul se va afișa automat.
2) Butoanele nu au clipmask
GIF cu problema: https://gyazo.com/28f00b888ceb98f83342f6f1e941acfc
Rezolvare - deschidem
uiadvanced...py si cautam:
elif isinstance(child, ui.ToggleButton) or isinstance(child, ui.RadioButton) or isinstance(child, ui.Button)):
Inlocuim cu:
Reacționează

la acest mesaj și conținutul se va afișa automat.
3) Se strica clipmask la alte sisteme
Acest lucru se intampla pentru ca acest
sistem schimba ceva clase din ImageBox in ExtendedImageBox, iar daca nu ai facut tutorialul complet de la Mali cu Clipmask (tutorial + partea "Experimental") o sa ai probleme:
Imagine cu problema:
Pentru a rezolva faceti asta - GrpExpandedImageInstance.cpp:
//Find
TPDTVertex vertices[4];
vertices[0].position.x = m_v2Position.x - 0.5f;
vertices[0].position.y = m_v2Position.y - 0.5f;
vertices[0].position.z = m_fDepth;
vertices[0].texCoord = TTextureCoordinate(su, sv);
vertices[0].diffuse = m_DiffuseColor;
vertices[1].position.x = m_v2Position.x - 0.5f;
vertices[1].position.y = m_v2Position.y - 0.5f;
vertices[1].position.z = m_fDepth;
vertices[1].texCoord = TTextureCoordinate(eu, sv);
vertices[1].diffuse = m_DiffuseColor;
vertices[2].position.x = m_v2Position.x - 0.5f;
vertices[2].position.y = m_v2Position.y - 0.5f;
vertices[2].position.z = m_fDepth;
vertices[2].texCoord = TTextureCoordinate(su, ev);
vertices[2].diffuse = m_DiffuseColor;
vertices[3].position.x = m_v2Position.x - 0.5f;
vertices[3].position.y = m_v2Position.y - 0.5f;
vertices[3].position.z = m_fDepth;
vertices[3].texCoord = TTextureCoordinate(eu, ev);
vertices[3].diffuse = m_DiffuseColor;
if (0.0f == m_fRotation)
{
float fimgWidth = float(pImage->GetWidth()) * m_v2Scale.x;
float fimgHeight = float(pImage->GetHeight()) * m_v2Scale.y;
vertices[0].position.x -= m_RenderingRect.left;
vertices[0].position.y -= m_RenderingRect.top;
vertices[1].position.x += fimgWidth + m_RenderingRect.right;
vertices[1].position.y -= m_RenderingRect.top;
vertices[2].position.x -= m_RenderingRect.left;
vertices[2].position.y += fimgHeight + m_RenderingRect.bottom;
vertices[3].position.x += fimgWidth + m_RenderingRect.right;
vertices[3].position.y += fimgHeight + m_RenderingRect.bottom;
if ((0.0f < m_v2Scale.x && 0.0f > m_v2Scale.y) || (0.0f > m_v2Scale.x && 0.0f < m_v2Scale.y)) {
STATEMANAGER.SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW);
}
}
else
{
float fimgHalfWidth = float(pImage->GetWidth()) / 2.0f * m_v2Scale.x;
float fimgHalfHeight = float(pImage->GetHeight()) / 2.0f * m_v2Scale.y;
for (int i = 0; i < 4; ++i)
{
vertices[i].position.x += m_v2Origin.x;
vertices[i].position.y += m_v2Origin.y;
}
float fRadian = D3DXToRadian(m_fRotation);
vertices[0].position.x += (-fimgHalfWidth * cosf(fRadian)) - (-fimgHalfHeight * sinf(fRadian));
vertices[0].position.y += (-fimgHalfWidth * sinf(fRadian)) + (-fimgHalfHeight * cosf(fRadian));
vertices[1].position.x += (+fimgHalfWidth * cosf(fRadian)) - (-fimgHalfHeight * sinf(fRadian));
vertices[1].position.y += (+fimgHalfWidth * sinf(fRadian)) + (-fimgHalfHeight * cosf(fRadian));
vertices[2].position.x += (-fimgHalfWidth * cosf(fRadian)) - (+fimgHalfHeight * sinf(fRadian));
vertices[2].position.y += (-fimgHalfWidth * sinf(fRadian)) + (+fimgHalfHeight * cosf(fRadian));
vertices[3].position.x += (+fimgHalfWidth * cosf(fRadian)) - (+fimgHalfHeight * sinf(fRadian));
vertices[3].position.y += (+fimgHalfWidth * sinf(fRadian)) + (+fimgHalfHeight * cosf(fRadian));
}
///Change
Reacționează

la acest mesaj și conținutul se va afișa automat.
Acum o sa fie totu perfect functional
Multumim de completari:
@xarazel @daemon