Page 1 of 1
RCSE : créer un bouton à choix multiple ?
Posted: Sat Jun 03, 2017 6:24 pm
by deckard
Hello,
Je débute sur rcse, et essaie de faire une feuille de perso pour le jeu Barbarians of Lemuria.
Dans ce jeu, par défaut, pour réaliser une action on lance 2D6 + sa note d'attribut (par exemple Vigueur). MAIS dans certaines circonstances on peut être amenés à jeter un troisième d6 pour avoir un avantage. Dans ce cas là , ça donne !3D6k2+attribut
Est-il possible alors sur la feuille de perso de créer un bouton sous la note de Vigueur qui, quand on clique dessus, propose les différents types de jets possible :
- normal : !2d6+Vigueur
- avantage : !3d6k2+Vigueur
- désavantage : !3d6kl2+Vigueur
Une sorte de bouton multifonction ?
Re: RCSE : créer un bouton à choix multiple ?
Posted: Sun Jun 04, 2017 12:04 am
by renaud
C’est possible:
Un bouton de dés ressemble à ca dans le code:
Code: Select all
DiceButton {//dice
id: _id_1
text: id_1.label
textColor:"#ff000000"
x:133.646*parent.realscale
y:50*parent.realscale
width:189.758*parent.realscale
height:71.0324*parent.realscale
color: "#ffff0000"
visible: root.page == 0? true : false
readOnly: id_1.readOnly
font.family: "Sans Serif"
font.bold: false
font.italic: false
font.underline: false
font.pointSize: 9
font.overline: false
font.strikeout: false
onClicked:rollDiceCmd(id_1.value)
}
C’est un peu verbeux mais j’ai réussi à faire un bouton par dessus le dice button pour afficher un selecteur:
Code: Select all
DiceButton {//dice
id: _id_1
property string diceCmd: ""
text: diceCmd
textColor:"#ff000000"
x:133.646*parent.realscale
y:50*parent.realscale
width:189.758*parent.realscale
height:71.0324*parent.realscale
color: "#ffff0000"
visible: root.page == 0? true : false
readOnly: id_1.readOnly
font.family: "Sans Serif"
font.bold: false
font.italic: false
font.underline: false
font.pointSize: 9
font.overline: false
font.strikeout: false
onClicked:rollDiceCmd(id_1.value)
Rectangle {
id: choix1
anchors.right : _id_1.right
y:_id_1.height/2-10
width:50
height:20
color: "gray"
Text {
anchors.fill: parent
text: "+"
font.pointSize: 9
}
MouseArea {
anchors.fill: parent
onClicked: choiceList.visible = true
}
Column {
id: choiceList
visible: false
Rectangle {
width: 100
height: 20
color:"#777777"
Text {
anchors.fill: parent
text: "Avantages"
font.pointSize: 9
}
MouseArea {
anchors.fill: parent
onClicked: {
_id_1.diceCmd = "3d6k2+Vigueur"
choiceList.visible = false
}
}
}
Rectangle {
width: 100
height: 20
color:"#aaaaaa"
Text {
anchors.fill: parent
text: "Normal"
font.pointSize: 9
}
MouseArea {
anchors.fill: parent
onClicked:{
_id_1.diceCmd = "2d6+Vigueur"
choiceList.visible = false
}
}
}
Rectangle {
width: 100
height: 20
color:"#cccccc"
Text {
anchors.fill: parent
text: "Désavantage"
font.pointSize: 9
}
MouseArea {
anchors.fill: parent
onClicked:{
_id_1.diceCmd = "3d6kl2+Vigueur"
choiceList.visible = false
}
}
}
}
}
}
Re: RCSE : créer un bouton à choix multiple ?
Posted: Sun Jun 04, 2017 8:56 pm
by deckard
Merci renaud pour ta réponse.
Je vais essayer de m'en sortir avec ce que tu as écrit, mais n'étant pas codeur pour un sous, ça va m’occuper un moment !!
Je suis content de savoir que c'est faisable en tout cas.
A bientôt !
Re: RCSE : créer un bouton à choix multiple ?
Posted: Mon Jun 05, 2017 9:59 am
by pit
Comme Renaud le démontre bien, il y a effectivement moyen d'imaginer pas mal de chose avec le JavaScript !
Maintenant si tu n'est pas codeur, tu peux aussi imaginer une solution plus simple
une zone avec 3 checkbox "normal" , "avantage" et "désavantage" pour l'ensemble de ta feuille.
et lors de l'appui sur chaque bouton, tu testes les checkbox (voir l'instruction de test "I") et effectue le jet en fonction
Pit
Re: RCSE : créer un bouton à choix multiple ?
Posted: Tue Jun 06, 2017 12:48 pm
by deckard
pit wrote:
Maintenant si tu n'est pas codeur, tu peux aussi imaginer une solution plus simple
une zone avec 3 checkbox "normal" , "avantage" et "désavantage" pour l'ensemble de ta feuille.
et lors de l'appui sur chaque bouton, tu testes les checkbox (voir l'instruction de test "I") et effectue le jet en fonction
Je vais essayer comme cette méthode, merci pour le conseil
