Pagina 1 di 1
Conoscete uno script migliore per attaccare durante un salto o a terra? (GM: Studio 1)
Inviato: 24/07/2019, 15:08
da MagicFool64
Ciao, precedentemente ho postato vari topic dicendo che lo sprite del mio personaggio, quando attaccava in aria dopo un salto o durante una caduta, non si animava. Questo è lo script che ho inserito in Step Event
Codice: Seleziona tutto
if(place_meeting(x,y+1,obj_wall)){
grounded = true
}else{
grounded = false
}
if(grounded){
sprite_index = spr_walk
} else {
if(vspeed<0){
sprite_index = spr_jump
}else{
sprite_index = spr_jump
}
}
if attacca = 1
if grounded = true
{
sprite_index = spr_attack;
hspeed = 0;
image_speed = .2;
}
else if grounded = false
{
sprite_index = spr_attack_jump;
image_speed = .2;
}
Ma questo è quello che succede quando attacco in aria:
https://imgur.com/a/l6QR2RN
Come potete vedere, lo sprite di quando attacca in aria non sia anima, ma quello dell'attacco a terra si. Ho provato a correggerlo in vari modi, ma niente funzionava. Quindi ho pensato: qualcuno di voi conosce uno script alternativo, per fare in modo che il personaggio attacca sia in aria che a terra? Scusate se chiedo tanto
Re: Conoscete uno script migliore per attaccare durante un salto o a terra? (GM: Studio 1)
Inviato: 24/07/2019, 22:29
da Scario
Allora, andando con ordine:
1- perchè aprire mille topic per un solo problema? Crei solo disordine così. Se nessuno risponde è perchè non sa\non può risponderti, se cerchi una risposta immediata apri la chat Discord
2- perchè non usi i suggerimenti dati negli altri topic? Le condizioni vanno con il doppio uguale, le assegnazioni con il singolo
3- Il tuo codice non funziona perchè è in disordine: se, ad esempio, grounded è uguale a true, prima esegue la condizione dentro quel "if (grounded)", poi esegue quella all'interno di "if attacca = 1", creando problemi come hai potuto notare. Ho provato il tuo codice su un progetto GM e l'ho corretto così:
Create Event:
Step Event:
Codice: Seleziona tutto
kShoot = keyboard_check_pressed(ord("X"));
kShootRel = keyboard_check_released(ord("X")));
if (kShoot) {
attacca=1
}
if (kShootRel) {
attacca=0
}
// il tuo codice "corretto"
if(place_meeting(x,y+1,obj_parent_solid)){
grounded = true
}else{
grounded = false
}
if(grounded){
if attacca==1 {
sprite_index = spr_attack;
hspeed = 0;
image_speed = .2;
} else {
sprite_index = spr_walk
}
} else {
if attacca==1 {
sprite_index = spr_attack_jump;
image_speed = .2;
} else {
sprite_index = spr_jump
}
}
Draw Event:
Così mi sembra andare correttamente (non ho messo il controllo dell'animazione se sale o scende perchè vedevo che non la stavi utilizzando), ma se non ti torna qualcosa dimmi.
Re: Conoscete uno script migliore per attaccare durante un salto o a terra? (GM: Studio 1)
Inviato: 25/07/2019, 12:34
da MagicFool64
Scario ha scritto:Allora, andando con ordine:
1- perchè aprire mille topic per un solo problema? Crei solo disordine così. Se nessuno risponde è perchè non sa\non può risponderti, se cerchi una risposta immediata apri la chat Discord
2- perchè non usi i suggerimenti dati negli altri topic? Le condizioni vanno con il doppio uguale, le assegnazioni con il singolo
3- Il tuo codice non funziona perchè è in disordine: se, ad esempio, grounded è uguale a true, prima esegue la condizione dentro quel "if (grounded)", poi esegue quella all'interno di "if attacca = 1", creando problemi come hai potuto notare. Ho provato il tuo codice su un progetto GM e l'ho corretto così:
Create Event:
Step Event:
Codice: Seleziona tutto
kShoot = keyboard_check_pressed(ord("X"));
kShootRel = keyboard_check_released(ord("X")));
if (kShoot) {
attacca=1
}
if (kShootRel) {
attacca=0
}
// il tuo codice "corretto"
if(place_meeting(x,y+1,obj_parent_solid)){
grounded = true
}else{
grounded = false
}
if(grounded){
if attacca==1 {
sprite_index = spr_attack;
hspeed = 0;
image_speed = .2;
} else {
sprite_index = spr_walk
}
} else {
if attacca==1 {
sprite_index = spr_attack_jump;
image_speed = .2;
} else {
sprite_index = spr_jump
}
}
Draw Event:
Così mi sembra andare correttamente (non ho messo il controllo dell'animazione se sale o scende perchè vedevo che non la stavi utilizzando), ma se non ti torna qualcosa dimmi.
Scusa se ho rotto le scatole per tutto questo tempo. Comunque, se anche questa volta non funziona, io mi arrendo
Re: Conoscete uno script migliore per attaccare durante un salto o a terra? (GM: Studio 1)
Inviato: 25/07/2019, 12:40
da MagicFool64
Funziona, scusa ancora per aver rotto le scatole. Grazie infinite
Re: Conoscete uno script migliore per attaccare durante un salto o a terra? (GM: Studio 1)
Inviato: 25/07/2019, 15:52
da Scario
MagicFool64 ha scritto:Funziona, scusa ancora per aver rotto le scatole. Grazie infinite
Ottimo!! Ma va, anzi, non smettere di chiedere.. e nemmeno di provarci! L'unico consiglio che mi sento di darti è di imparare a usare il debugger o di stamparti a video le variabili di ciò che non ti torna, così capisci cosa sta succedendo.