Alpha-Numeric / Segment Displays¶
Related Config File Sections |
---|
segment_displays: |
segment_display_player: |
MPF supports segment displays and alpha numeric displays. There are several hardware options available: Segment Display Platforms in MPF.
1. Configure your segment displays in MPF config¶
You can use the following tested config snippet as a starting point to implement segment displays (make sure to use the correct numbers for your hardware).
your_machine_folder/config/display.yaml¶
#config_version=5
segment_displays:
display1:
number: 1
display2:
number: 2
display3:
number: 3
display4:
number: 4
display5:
number: 5
segment_display_player:
# empty all displays on game start and setup display5
game_start:
display1:
text: ""
display2:
text: ""
display3:
text: ""
display4:
text: ""
display5:
text: "{current_player.ball:d}"
# clear only display5 after game
game_ended{machine.player1_score > 0}:
display1:
text: "{machine.player1_score:d}"
game_ended{machine.player2_score > 0}:
display2:
text: "{machine.player2_score:d}"
game_ended{machine.player3_score > 0}:
display3:
text: "{machine.player3_score:d}"
game_ended{machine.player4_score > 0}:
display4:
text: "{machine.player4_score:d}"
game_ended:
display5:
text: ""
# flash display on player turn
player_turn_started.1{number==1}:
display1:
action: flash
player_turn_ended.2{number==1}:
display1:
action: no_flash
player_turn_started.3{number==2}:
display2:
action: flash
player_turn_ended.4{number==2}:
display2:
action: no_flash
player_turn_started.5{number==3}:
display3:
action: flash
player_turn_ended.6{number==3}:
display3:
action: no_flash
player_turn_started.7{number==4}:
display4:
action: flash
player_turn_ended.8{number==4}:
display4:
action: no_flash
# show score when adding players
player_added.1{num==1}:
display1:
text: "{players[0].score:d}"
player_added.2{num==2}:
display2:
text: "{players[1].score:d}"
player_added.3{num==3}:
display3:
text: "{players[2].score:d}"
player_added.4{num==4}:
display4:
text: "{players[3].score:d}"
2. Implement virtual segment displays¶
If you don’t have or want phyiscal segment displays you can also emulate them using the following slides:
slides:
segment_displays:
widgets:
- type: text
text: (player1|score)
number_grouping: true
min_digits: 2
font_name: ten_segment
color: blue
x: 620
y: 724
font_size: 240
anchor_x: right
anchor_y: bottom
z: 2
# show slide on game start
slide_player:
game_started: segment_displays
This example is tested to be valid MPF and MPF-MC config. Additionally, our integration test passed. Click to show the test and full config.
slides:
segment_displays:
widgets:
- type: text
text: (player1|score)
number_grouping: true
min_digits: 2
font_name: ten_segment
color: blue
x: 620
y: 724
font_size: 240
anchor_x: right
anchor_y: bottom
z: 2
# show slide on game start
slide_player:
game_started: segment_displays
##! test
start_game
advance_time_and_run .1
assert_slide_on_top segment_displays