Rechercher - Liste des utilisateurs
Version complète : Débutants
Accueil » FunDelphi » Débutants
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DerF_44
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 !.
sjrd
C'est ça, en effet.
DerF_44
Ok, merci !
DerF_44
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 !!
sjrd
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;
DerF_44
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_44
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 ! )
sjrd
Ça doit être que FunLabyBase n'est pas dans les uses de ton unité. Si ?
DerF_44
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 !.
sjrd
Et avec Square.Field = Grass ?
Sinon, quelle est l'erreur exacte ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB