Pakiet Anim8 9624 50

O temacie

Autor Siemekk

Zaczęty 9.05.2016 roku

Wyświetleń 9624

Odpowiedzi 50

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Może zmień msg.time na np. 10 i sprawdź czy po 10 sekundach zniknie?
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Pakiet Anim8
#21 2016-05-10, 21:41(Ostatnia zmiana: 2016-05-10, 23:05)
Dobry pomysł, tylko zostało teraz jakąś magiczna formułkę liczącą zrobić co nie będzie trudne (trza wyliczyć jakoś średnią) Teraz tak: Jak podpiąć pakiet Anim8 pod pakiet View xD ?
Wiem że jest takie coś jak move w pakiecie ale nei mam pojęcia jak to połączyć w 1 xD
var int MsgBox;
MsgBox=View_CreateCenter(700,3300,1150,450);
View_SetTexture(MsgBox,"UI_MSG_BG.TGA");
View_Open(MsgBox);
Oraz jak zrobić aby text był nad boxem nie pod nim (tak samo jak w buttonach oś Z)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jak chcesz zrobić View w anim8 to popatrz na Bloodsplat, zaraz powinieneś ogarnąć. :)
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
No i git taka odpowiedź dla mnie idealna D: Tak BTW.  Jak Zmieni się -1 to print się psuje,  wiec użyłem funkcji usuwania printa i warunku if (txt.posy == 3700) i efekt jest baaardzo nawet jeszcze bardziej podobny do tego z Czasu.  Jeszcze tylko bym prosił o pomoc z printem nad fieldem.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
W Bloodsplats masz wszystko na tacy. Trzeba zrobić jeszcze jeden anim8 do samego View i masz gotowe.
Wygląda to mniej-więcej tak:
var int x = view_Create
ViewSetTex
ViewOpen
int new anim8 = Anim8New (parametr, funkcja, IntZViewCreate, false)
anim8
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
:lol2: Nie wiem jak to zrobiłem, ale box się nie przesuwa, zaś co dziwnego teleportuje bohatera na pozycję >.<
func void UIMsg_Box(var int hndl , var int value)
{
var UIMsg ptr; ptr = get(hndl);
var zCView View; View = get(ptr.MsgView);// so... this use this var to set box texture :O
View.vposy = value;
};
 
//========================================
// Softprint
//========================================
func void Msger(var string txt, var int color, var int time) {
    var int hndl; hndl = new(UIMsg@);
    var UIMsg ptr; ptr = get(hndl);
    /******************************************/
var int Box; Box = View_CreateCenter(700,2870,1150,450);
View_SetTexture(Box,"UI_MSG_BG.TGA");
ptr.MsgView=Box;
var int Mover_Box;
Mover_Box = Anim8_NewExt(2870, UIMsg_Box, Box, false);
Anim8 (Mover_Box, 3300, time*15, A8_SlowStart);//50
Anim8q (Mover_Box, 3300, time*120, A8_Wait);
Anim8q(Mover_Box,3700,time*15,A8_SlowStart);
View_Open(Box);
/***************Delete Box*****************/
Anim8_RemoveIfEmpty    (Mover_Box, true);
    Anim8_RemoveDataIfEmpty(Mover_Box, true);
Nie jest to takie trudne jak się wydawało D: I przy okazji dalej, jak dać text nad boxem nie pod (wiadomo o co chodzi D:)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Uhh... Nie popatrzyłeś do Bloodsplats...

    var int ptr; ptr = View_Create(x, y, x+texSizeX, y+texSizeY);

var int s; s = SB_New();

SB ("BLOODSPLAT");
SBi(r_Max(BLOODSPLAT_TEX));
SB (".TGA");

    View_SetTexture(ptr, SB_ToString());

SB_Destroy();

    View_Open(ptr);

var int a8; a8 = Anim8_NewExt(255, _Bloodsplat_Handler, ptr, false);
Anim8_RemoveIfEmpty(a8, true);
Anim8_RemoveDataIfEmpty(a8, true);

Anim8 (a8, 255,  300, A8_Wait);
Anim8q(a8,   0, 2000, A8_SlowStart);
};

func void _Bloodsplat_Handler(var int h, var int val) {
var zCView v; v = get(h);
v.alpha = val;
};

Tutaj masz jeszcze rzeczy, które Ci się przydadzą:

func void View_Position(var int h, var int val) {
var zCView v; v = get(h);
v.pposy = val;//chuj wie która zamienna odpowiada za pozycję tego gówna
};

Oraz oczywiście musisz przerobić skrypt z PrintS na view i zastąpić "_Bloodsplat_Handler", bo nie chcesz, żeby okna się na siebie nakładały (chyba, że będzie tylko jedno okno, tak jak w CZ):

func void gCPrintS_Alpha(var int h, var int value) {
    var gCPrintS p; p = get(h);
    var zCViewText t; t = get(p.tv_Text);
    t.color = ChangeAlpha(t.color, value);
    if(gCPrintS_COff > p.vr_Offs) {
        p.vr_Pos -= (gCPrintS_COff - p.vr_Offs) * PF_TextHeight;
        Anim8(p.a8_Movement, p.vr_Pos, PF_MoveYTime, A8_SlowEnd);
        p.vr_Offs = gCPrintS_COff;
    };
};

No i wiadomo, do tego trzeba zrobić nowe anim8 dla pozycji (czyli mojego skryptu View_Position którego Ci zapodałem troszkę wyżej). Jeszcze coś, możesz zrobić ten skrypt na podstawie gCPrint i zastąpić var int h; h = new(gCPrintS@); instancją zCView, wtedy będziesz musiał przerobić delikatnie i użyć View_Addtext w gCPrint.vr_text, lecz tego nie próbowałem (raczej zadziała).
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Próbowałem już z zCviewAddText,jak na mój łeb to za dużo przerabiania D: Tak btw. mój skrypt podobnie wygląda, mimo to ten cholerny box nie chce się przesuwać, i w dodatku teleportuje mnie :lol2: W klasie zCView są tylko 2 posy: 1)pxl 2)virtual na obu próbowałem i dupa :/
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Niby czemu za dużo przerabiana?

func int ViewPtr_AddText(var int ptr, var int x, var int y, var string text, var string font) {
    var zCView v; v = _^(ptr);
    var int field; field = Print_TextField(x, y, text, font, Print_ToVirtual(Print_GetFontHeight(font), v.pposy+v.psizey));
    if(v.textLines_next) {
        List_Concat(v.textLines_next, field);
    }
    else {
        v.textLines_next = field;
    };
    return field;
};
func int View_AddText(var int hndl, var int x, var int y, var string text, var string font) {
    return ViewPtr_AddText(getPtr(hndl), x, y, text, font);
};

Dla porównania:
func void ViewPtr_AddText(var int ptr, var int x, var int y, var string text, var string font) {
    var zCView v; v = _^(ptr);
    var int field; field = Print_TextField(x, y, text, font, Print_ToVirtual(Print_GetFontHeight(font), v.pposy+v.psizey));
    if(v.textLines_next) {
        List_Concat(v.textLines_next, field);
    }
    else {
        v.textLines_next = field;
    };
};
func void View_AddText(var int hndl, var int x, var int y, var string text, var string font) {
    ViewPtr_AddText(getPtr(hndl), x, y, text, font);
};
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Za co odpowiada ostatni parametr w funkcji Print_TextField, oraz jak jest sam print ustawiany czy w podobny sposób jak Print_Ext?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Sprawdź w Interface.d. Nie wiem jak dokładnie wygląda ten skrypt. Prawdopodobnie jest to wysokość, ale nie wiem dokładnie jaka wysokość, czy to samo co Y czy coś innego.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
func int Print_TextField(var int x, var int y, var string text, var string font, var int height) {
    var int cnt; cnt = STR_SplitCount(text, Print_LineSeperator);
    var int i; i = 1;
    var int ptr; ptr = Print_CreateTextPtr(STR_Split(text, Print_LineSeperator, 0), font);
    var zCViewText txt; txt = _^(ptr);
    txt.posx = x;
    txt.posy = y;

    var int list; list = List_Create(Ptr);
    var int pos; pos = MEM_StackPos.position;
    if (i >= cnt) {
        return list;
    };
        ptr = Print_CreateTextPtr(STR_Split(text, Print_LineSeperator, i), font);
        txt = _^(ptr);
        txt.posx = x;
        txt.posy = y+(height*i);

        List_Add(list, ptr);
        i+=1;

    MEM_StackPos.position = pos;
};
Coś do pozycji Y, mimo to nie wiem co xD (nie da się podczepić tego pod Print_Ext?)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Przecież to to samo. Jak chcesz zmieniać kolor to po prostu zrób swoją wersję i dodaj zmienną kolor.

Można też zmusić system do ustawienia większego priorytetu dla Printa i będzie print na View.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Kolor zmienić to akurat pikuś :
var zCViewText a; a= get(hndl);
a.color=color;
i już D: Jak zrobić ten priorytet większy ? Zapodaj jakimś przykładem.
2) Ten box jest chory ;_; próbuje dostosować go do długości znaków, ale na każdej rozdziałce jest inny .-.
var int Box_SizeX; Box_SizeX = Print_GetStringWidth(txt, PF_Font)*7;//1440x900 jest, inne nie .
var int Mover_Box;
var int Box; Box =View_CreateCenter(700,2870,Box_SizeX+50,510);//3*PF_TextHeight
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Zawsze możesz zeskalować Str_Len(text) z pikselami i po prostu dodać do X.

Priorytet, o ile się nie mylę, robiło się na zasadzie listów, przesuwając print na listę zaraz po View. Czyli:
View jest na liście nr. 22
Print na liście nr. 21
czyli View ma priorytet.

Pewien nie jestem, ale na tej zasadzie jest to zrobione w View_AddText.

zCView list:
    //zCList <zCViewText>       textLines;
        var int textLines_data; //zCViewText*
        var int textLines_next; //zCList <zCViewText>*

Może starczy dodać print tutaj?
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Mógłbyś jakoś mi to prościej wytłumaczyć >.< ?
W View_AddText jest to zrobione za pomocą print'a Print_TextField którego podałem wyżej, widzę tam jakieś listy, ale jak się z nimi obchodzić?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Do listy zCView dodajesz zCViewText. Czyli w skrócie, bierzesz zCView.textLines_data i dodajesz twój print za pomocą List_Add. Printa musisz dodać do zmiennej, tak samo jak w View_AddText.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Pakiet Anim8
#37 2016-05-12, 16:57(Ostatnia zmiana: 2016-05-12, 20:17)
W zasadzie już działa :D dałem to View_AddText, teraz tylko jak zawrócić długość box'a XPos aby zawsze była taka sama ? (na każdej rozdziałce)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
O co dokładnie Ci chodzi? Nie bardzo umiem sobie to zobrazować.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Chodziło, o to aby box miał zawsze taką samą szerokość. (Zrobiłem to kopiując 4 funkcje orka z UI_MSGBOXES_FUNC), teraz zostało to nieszczęsne przesuwanie boxa w dół :/ Nic na chwilę obecną nie działa .-.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry