Forum FunLabyrinthe

Le jeu de labyrinthe fun et gratuit - Retour au site

  • Vous n'êtes pas connecté.

#1 déc. 5, 2012 10:08:08

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Une petite vérif' toute simple stp :
Si je capte très bien la fonction d'un Enabled := False; sur un bouton poussoir, à savoir que celui-ci reste enfoncé,
je voudrais être bien sûr de l'utilité de cette même fonction sur un effet :
Si plusieurs effets “Machin” sont posés sur une map, l'exécution d'un seul “Machin” rendra les autres inactifs, c'est bien cela !??..
Pas d'autres conséquences ?!…

MàJ du post : Petite précision, je parle bien entendu de l'édition .fnd,
pas de la caractéristique Enable dans l'inspecteur d'objet !.


(°!°) DerF

Modifié DerF_44 (déc. 5, 2012 12:06:06)

Hors-ligne

#2 déc. 5, 2012 16:04:52

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

C'est ça, en effet.


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#3 déc. 5, 2012 16:31:09

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Ok, merci !


(°!°) DerF

Hors-ligne

#4 déc. 8, 2012 20:59:45

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Grrrrrrrrrrrrrr…. Besoin d'un petit coup de main !!
Après l'obstacle-bloc de glace qui devient un movable block, j'essaye de bricoler un truc dans le genre mais inversé !..
Un coffre que l'on peut pousser (movable block) mais si le joueur peut l'ouvrir (action OpenChest) alors le coffre est un obstacle immobile !!
Je trafiqué le code en tous sens mais sans obtenir le résultat souhaité !!
poscomponent TLockedChest(TMovableBlock)
name 'Coffre verrouillé';
image 'Chests/ClosedChest';

property UnLocked: Boolean;

on Pushing do
begin
if not UnLocked then
begin
inherited;
if Player can OpenChest then
begin
UnLocked := True;
Painter.Clear;
Painter.AddImage('Chests/OpenChest');
Cancel;
end;
//---------code attribuant du matériel au joueur.
end;
end;
end;

Je pense qu'à force de tourner et retourner le problème je finirais bien par tomber sur la soluce,
mais je me suis un peu perdu avec les if ou if not et les end else if !..
Alors si 20 secondes de réflexion peuvent remplacer mes heures de bidouillages, je suis preneur !!


(°!°) DerF

Hors-ligne

#5 déc. 8, 2012 21:42:33

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

Essaie ceci :
poscomponent TLockedChest(TMovableBlock)
name 'Coffre verrouillé';
image 'Chests/ClosedChest';

property UnLocked: Boolean;

on Pushing do
begin
if UnLocked then
begin
// Se comporter comme un coffre ouvert immobile
Cancel;
end else if Player can OpenChest then
begin
// Se comporter comme un coffre fermé immobile
// et donc ouvrir le coffre
UnLocked := True;
Painter.Clear;
Painter.AddImage('Chests/OpenChest');
Cancel;
//---------code attribuant du matériel au joueur.
end else
begin
// Se comporter comme un coffre fermé mobile
inherited;
end;
end;
end;


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#6 déc. 8, 2012 23:44:59

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Et oui !!.. C'est tout à fait ça !! Nickel !..
J'avais pourtant bien pensé à inverser l'ordre des événements, mais je me suis empêtré avec le end else if !..
Merci beaucoup sjrd, je vais pouvoir de nouveau me concentrer sur le reste de mon projet (y'a de quoi faire !!)
et sur les possibilités gigantesques (malgré mes toutes petites connaissances !) du FunDelphi !! (y'a de quoi en perdre la tête !!!)..

Merci !


(°!°) DerF

Hors-ligne

#7 déc. 9, 2012 10:05:15

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Euh, désolé, encore une broutille !.
J'ai une salle qui se fait petit à petit envahir d'eau de manière aléatoire
(que j'aime les TPlayerMessage et leurs Master.Timers.ScheduleNotificationMsg associés !! ),
j'ai donc une petite fonction pour que l'eau ne se pose pas n'importe où :
function IsValidForWater(Square: TSquare): Boolean private;
begin
Result := (Square.Field is TGround) and (Square.Effect = nil) and
(Square.Tool = nil) and (Square.Obstacle = nil);
end;
Et je voudrais remplacer TGround par Grass mais pas moyen !. (non déclaré me dit le compilateur)..
Mon idée est de pouvoir épargner de l'inondation certaines cases qui seront issues de TGround,
qui auront le même Painter que Grass mais ne seront pas Grass!.. (Afin de pouvoir pousser le coffre dessus ! )


(°!°) DerF

Hors-ligne

#8 déc. 9, 2012 12:41:35

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

Ça doit être que FunLabyBase n'est pas dans les uses de ton unité. Si ?


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#9 déc. 9, 2012 12:52:55

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Si !.. FunLabyBase est bien dans les uses de mon unité !!
Je dois dire que cela reste ma principale difficulté en FunDelphi,
l'organisation générale de mes unités !..
Afin d'obtenir un “découpage” logique du code d'une part,
et le moins de problème possible du côté des déclarations des différents composants d'autre part !.


(°!°) DerF

Modifié DerF_44 (déc. 9, 2012 12:53:39)

Hors-ligne

#10 déc. 9, 2012 13:59:58

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

Et avec Square.Field = Grass ?
Sinon, quelle est l'erreur exacte ?


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

Pied de page

Modération

Powered by DjangoBB

Lo-Fi Version