teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コードを追加

2018/07/11 23:50

投稿

gottadiveintopy
gottadiveintopy

スコア736

answer CHANGED
@@ -1,9 +1,21 @@
1
1
  多分、大きなTextureを作り過ぎてRaspberryPiの能力の限界に達したんじゃないかと思います。結果1はもちろん結果2もそれを思わせるので。
2
2
 
3
- Labelは内部で文字列の描かれたTextureを作るのですが、既定ではそのTextureは文字列が収まるだけの最小限の大きさになってます。ただtext_sizeが指定されているとTextureの大きさはその値に必ず従います。なので text_size: self.size はLabelの大きさと同じ大きさでTextureを作るよう指示した事になります。そしてLabelの大きさなんですが、プログラムをFullscreenで実行しているならおそらくRaspberryPiのDisplayと同じになっているので、結果RaspberryPiのDisplayと同じ大きさのTextureを作るように指示した事になり、能力の限界に達したと私は考えてます。
3
+ `Label`は内部で文字列の描かれたTextureを作るのですが、既定ではそのTextureは文字列が収まるだけの最小限の大きさになってます。ただ`text_size`が指定されているとTextureの大きさはその値に必ず従います。なので`text_size: self.size``Label`の大きさと同じ大きさでTextureを作るよう指示した事になります。そして`Label`の大きさなんですが、プログラムをFullscreenで実行しているならおそらくRaspberryPiのDisplayと同じになっているので、結果RaspberryPiのDisplayと同じ大きさのTextureを作るように指示した事になり、能力の限界に達したと私は考えてます。
4
4
 
5
- self.width,None で上手くいったのも、これによってTextureの高さが文字列が収まる最小限の大きさになり、RaspberryPiの限界に達しなくなったと考えるとつじつまが合います。
5
+ `self.width,None`で上手くいったのも、これによってTextureの高さが文字列が収まる最小限の大きさになり、RaspberryPiの限界に達しなくなったと考えるとつじつまが合います。
6
6
 
7
7
 
8
8
 
9
- もしLabelの文字列の位置揃えをしたいが為にtext_sizeをいじっているのならやめた方がいいですよ。上に書いたように無駄に大きなTextureを作ってしまうので。代わりにLabelをAnchorLayoutの中に入れて (編集中)
9
+ もし`Label`の文字列の位置揃えをしたいが為に`text_size`をいじっているのならやめた方がいいかもしれません。上に書いたように無駄に大きなTextureを作ってしまうので。代わりに以下の様に`Label``AnchorLayout`の中に入れるのをお薦めします。
10
+
11
+ ```
12
+ FloatLayout:
13
+ AnchorLayout:
14
+ anchor_x: 'right'
15
+ anchor_y: 'center'
16
+ Label:
17
+ size: self.texture_size
18
+ size_hint: None, None
19
+ font_size: 24
20
+ text: 'Ver0.0.1'
21
+ ```