jeudi 23 juillet 2015

Äèíàè÷åñêîå äâèæåíèå îáúåêòîâ [Òðèãîíîìåòðèÿ]

äîáðîãî âðåìåíè ñóòîê, òîâàðèùè
ñðî÷íî íóæíà ïîìîùü ïî íàïèñàíèþ ôóíêöèè äâèæåíèÿ êîðàáëÿ

â îáùåì íóæíî ïðåâðàòèòü îáúåêòû â íàñòîÿùèé ïëàâó÷èé êîðàáëü.

åñòü êîðàáëü êîòîðûé ñîñòîèò èç 40 îáúåêòîâ, íóæíî ñäåëàòü ÷òîáû êîðàáëü äâèãàëñÿ âïåðåä è ìîã ïîâîðà÷èâàòü, ÷àñòè÷íî ÿ ñäåëàë "äâèæåíèå âïåðåä", ÿ íå çíàêîì ñ òðèãîíîìåòðèåé è âîîáùå ïëîõî ñîîáðàæàþ â ïîçèöèîíèðîâàíèè.

ìîè íàáðîñêè

PHP Code:

control_aero_carrier(control)
{
    switch(
control)
    {
        case 
0// äâèæåíèå ñóäíà âïåðåä ïî X
        
{
            
aerocarrier_speed++;
            if (
aerocarrier_speed 5) return false;
            else if (
aerocarrier_speed == 1)
            {
                
aerocarrier_timer SetTimer("MoveCarrier"500true);
            }
            else if (
aerocarrier_speed == 2)
            {
                
KillTimer(aerocarrier_timer);
                
aerocarrier_timer SetTimer("MoveCarrier"1000true);
            }
        }
        case 
1// äâèæåíèå ïðàâî
        
{
            static 
Float:xFloat:yFloat:zFloat:rxFloat:ryFloat:rz;
            for (new 
0sizeof(aerocarrier); ++)
            {
                
GetDynamicObjectPos(aerocarrier[i], xyz);
                
GetDynamicObjectRot(aerocarrier[i], rxryrz);
                
MoveDynamicObject(aerocarrier[i], xyz1.0rxryrz-5.0);
            }
        }
    }
    return 
true;


Íåêîòîðûå îáúåêòû ïîñëå ïîâîðîòà íà÷èíàþò ñìåùàòüñÿ ïî x èëè y, ÿ íå çíàþ êàê ñäåëàòü äàëüøå.


Aucun commentaire:

Enregistrer un commentaire