Créer un bouton invisible | Dialogs

#1

Bonjour,

Je souhaite ajouter un bouton invisible dans une de mes interfaces. Malheureusement, je n’ai pas les connaissances pour faire la class de ce bouton dans mon common.hpp et quand je fais des tentatives, j’ai des erreurs.

Quelqu’un aurait-il la gentillesse de me fournir la class d’un bouton invisible à intégrer dans le common.hpp s’il vous plaît ?

0 Likes

#2

n importe quel bouton peux etre invisible a partir du moment ou tu change ca couleur par incolore …
https://community.bistudio.com/wiki/DialogControls-Buttons

Avec ca, tu as les meme connaissances que tout le monde

3 Likes

#3

Donc j’ai deux solutions je pense :

  • Ajouter un class dans mon common.hpp en copiant un bouton existant

  • Changer les couleurs du bouton directement dans le dialog

Mais quelle sont les chiffres à mettre pour qu’il soit transparent ?

0 Likes

#4

On travail en RGBA = Red Green Blue Alpha = 1, 1, 1, 1
Pour faire simple tu joue sur l ntensite de chaque couleur de 0 a 1 , 0 etant la valeur la plus petite (pas de cette couleur) et 1 la valeur la plus haute (cette couleur au maximum), en jouant sur des valeurs differente tu a une palette monstrueuse (1, 0.2, 0.5, 1 / 0.23, 0.56, 0.85, 1 / …) apres l Alpha c est l opacite, c est a dire la transparence de cette couleur donc 0 c est transparent (voir invisible), 1 c est totalement opac …

dans arma la seul difference est qu on ne travail pas en valeur de 0 a 255 mais de 0 a 1 … apres ce n est qu une histoire de conversion !

0 Likes

#5

Bonjour,

Je rajoute le lien d’un site vraiment sympa aussi. Dans ton cas de boutons invisibles, il ne te servira pas mais pour plus tard !
http://killzonekid.com/hex-2-arma-gui-colour-converter/

Merci,
Tom

0 Likes

#6

Bonsoir,

Voici une class que j’ai fais il y a longtemps, à vérifier tout de même mais ça devrait fonctionner.

class Life_RscInvisibleButton
{
	action = "";
	access = 0;
	type = 1;
	text = "";
	colorText[] = {0,0,0,0};
	colorDisabled[] = {0,0,0,0};
	colorBackground[] = {0,0,0,0};
	colorBackgroundDisabled[] = {0,0,0,0};
	colorBackgroundActive[] = {0.95,0.60,0.25,0.3};
	colorFocused[] = {0,0,0,0};
	colorShadow[] = {0,0,0,0};
	colorBorder[] = {0,0,0,0};
	soundEnter[] = {"",0.09,1};
	soundPush[] = {"",0.09,1};
	soundClick[] = {"",0.07,1};
	soundEscape[] = {"",0.09,1};
	style = 2;
	x = 0;
	y = 0;
	w = 0;
	h = 0;
	shadow = 2;
	font = "PuristaMedium";
	sizeEx = 0;
	offsetX = 0;
	offsetY = 0;
	offsetPressedX = 0.002;
	offsetPressedY = 0.002;
	borderSize = 0;
};

Sinon pour créer tes classes toi mêmen je conseille vivement ce logiciel :
http://www.armaholic.com/page.php?id=33123
Vous pouvez presque tout faire avec.

0 Likes

#7

un createur de dialog existe deja dans arma …





on dit merci Aroun et “dev arma 3 france” …

1 Like

#8

@MaxiSwat59 comme l’a dit @brutalzic il te suffira ensuite de jouer avec l’apha pour le rendre “invisible”

0 Likes

#9

si non se que je faisais dans le temps pour mon bouton fermer…

class Tel_Close: Life_RscButtonInvisible
		{
			idc = 1604;
			x = 0.485 * safezoneW + safezoneX;
            y = 0.805 * safezoneH + safezoneY;
            w = 0.017037 * safezoneW;
            h = 0.017037 * safezoneH;
			onButtonClick = "closeDialog 0;";
		};

Life_RscButtonInvisible definis que ton bouton est invisible a condition qu’il soit bien dans le common.hpp

    class Life_RscButtonInvisible : Life_RscButtonMenu {
    animTextureNormal = "#(argb,8,8,3)color(1,1,1,0)";
    animTextureDisabled = "#(argb,8,8,3)color(1,1,1,0)";
    animTextureOver = "#(argb,8,8,3)color(1,1,1,0)";
    animTextureFocused = "#(argb,8,8,3)color(1,1,1,0)";
    animTexturePressed = "#(argb,8,8,3)color(1,1,1,0)";
    animTextureDefault = "#(argb,8,8,3)color(1,1,1,0)";
    colorBackground[] = {0, 0, 0, 0};
    colorBackground2[] = {1, 1, 1, 0};
    color[] = {1, 1, 1, 0};
    color2[] = {1, 1, 1, 0};
    colorText[] = {1, 1, 1, 0};
    colorDisabled[] = {1, 1, 1, 0};
};
0 Likes

#10

Merci de vos réponses le problème est résolu

    class refuseTicket: Life_RscButtonMenu {
        idc = -1;
        text = "";
        onButtonClick = "closeDialog 0;";
		animTextureNormal = "#(argb,8,8,3)color(1,1,1,0)";
		animTextureDisabled = "#(argb,8,8,3)color(1,1,1,0)";
		animTextureOver = "#(argb,8,8,3)color(1,1,1,0)";
		animTextureFocused = "#(argb,8,8,3)color(1,1,1,0)";
		animTexturePressed = "#(argb,8,8,3)color(1,1,1,0)";
		animTextureDefault = "#(argb,8,8,3)color(1,1,1,0)";
		colorBackground[] = {0, 0, 0, 0};
		colorBackground2[] = {1, 1, 1, 0};
		color[] = {1, 1, 1, 0};
		color2[] = {1, 1, 1, 0};
		colorText[] = {1, 1, 1, 0};
		colorDisabled[] = {1, 1, 1, 0};
		x = 0.388477 * safezoneW + safezoneX;
		y = 0.72405 * safezoneH + safezoneY;
		w = 0.242726 * safezoneW;
		h = 0.112025 * safezoneH;
    };
0 Likes

#11

Oui un GUI editor existe déjà sur arma, mais il n’est clairement pas adapté et est mal foutu, enfin c’est mon avis

0 Likes

#12

Là est un autre debat en effet !! :smiley:

0 Likes

#13

T as donc mis toutes les Alpha a 0 !

0 Likes

#14

Pense a passer le poste en résolu

Personnellement si tu fais la manip pour 1 bouton ça ira, mais si c’est quelque chose que tu fais a répétition, sert toi du common.hpp comme je te l’ai dis, tu gagnera du temps

0 Likes

#15

Quand je me sert du common.hpp, j’ai une erreur qui m’indique que mon class “Life_Rcsboutonmenu” n’est pas défini même en copiant les lignes sur ce sujet …

0 Likes

#16

Car tu n’utilises pas la bonne classe tout simplement ?

0 Likes

#17

Je fais un copié coller du nom de la class

0 Likes

#18

Envois nous le dialog qu’on voit a quoi il ressemble, ça sera plus claire pour nous

0 Likes

#19

Pour le moment cela ne me gêne pas, en plus il faut faire un nouveau sujet lol

Merci encore mais le soucis sera résolu plus tard si besoin car je n’ai pas le temps de le faire :slight_smile:

0 Likes