Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
Posté le: 27/11/11 17:24 Sujet du message: fonction jass allée retour
bonjour, j'ai une petite question encore sur une fonction jass :
Jass:
function AlleeRetour takes unit u, rect a returns nothing
local real y
local real sens_deplacement
local real unit_y
set unit_y = GetUnitY(u)
if unit_y == GetRectMaxY(a) then
set sens_deplacement = -1.
endif
if unit_y == GetRectMinY(a) then
set sens_deplacement = 1.
endif
set y = unit_y + udg_Vitesse_deplacement * sens_deplacement
call SetUnitY(u, y)
endfunction
sachant que mon unité est créé de la manière suivante :
Jass:
function MobPourAlleeRetour takes integer mob, rect a, trigger trig returns nothing
local real x = GetRectCenterX(a)
local real y = GetRectMaxY(a)
local unit u = CreateUnit(Player(udg_mob4Player), mob, x, y, 0.00)
set udg_t = udg_t + 1
call GroupAddUnit(udg_patrols, u)
set udg_Unit_allee_retour[udg_t] = u
set u=null
call EnableTrigger(trig)
endfunction
en principe, sens_de_deplacement a une valeur avant son utilisation n'est-ce pas ?
lorsque j'appelle la fonction dans son déclencheur, elle n'est pas activé (j'ai fait call BJDebugMsg)
Jass:
function Trig_allee_retour_n1_Actions takes nothing returns nothing
call AlleeRetour(udg_Unit_allee_retour[1], gg_rct_allee_retour_01)
endfunction
//===========================================================================
function InitTrig_allee_retour_n1 takes nothing returns nothing
set gg_trg_allee_retour_n1 = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic(gg_trg_allee_retour_n1, 0.1)
call TriggerAddAction( gg_trg_allee_retour_n1, function Trig_allee_retour_n1_Actions )
endfunction
s'il vous plait, je suis assez désespéré, ça fait 3 jours que je bloque sur mes fonctions... _________________
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
Posté le: 27/11/11 21:32 Sujet du message:
Jass:
function AlleeRetour takes unit u, rect a returns nothing
local real y
local real angle
local real unit_y
local real direction_deplacement
set angle = GetUnitFacing(u)
set direction_deplacement = SinBJ(angle)
set unit_y = GetUnitY(u)
if unit_y > GetRectMaxY(a) then
call SetUnitFacing(u, 270.)
endif
if unit_y < GetRectMinY(a) then
call SetUnitFacing(u, 90.)
endif
set y = unit_y + direction_deplacement * udg_Vitesse_deplacement
call SetUnitY(u, y)
endfunction
ouais bon j'ai changé mon truc, mais ça ne s'active toujours pas, et je ne sais vraiment pas d'où vient le problème.....
udg_Vitesse_deplacement est bien déclaré et défini comme il faut. _________________
Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 28/11/11 17:47 Sujet du message:
1) BJDebugMsg pour afficher les valeurs
2) Est ce que c'est bien la valeur attendue, si oui, on continue les debug, si non, on se gratte la tête et on remonte plus loin. _________________
Page 1 sur 1 La question posée dans ce topic a été résolue !
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum