Add sounds swith on/switch off

This commit is contained in:
Philippe Roy 2022-04-22 16:54:49 +02:00
parent 82a5306d4c
commit f7f098f4ec
15 changed files with 1789 additions and 109 deletions

Binary file not shown.

View File

@ -0,0 +1,789 @@
# FreeCAD v0.19 build24291 (Git) Arch module
# http://www.freecadweb.org
mtllib icon_nosound.mtl
o Extrude
usemtl color_000000
v 10.858986 -8.496451 0.0
v 10.768653 -8.687046 0.0
v 10.768653 -8.687046 3.0
v 10.858986 -8.496451 3.0
v 10.970331 -8.387315 0.0
v 10.970331 -8.387315 3.0
v 11.103894 -8.32237 0.0
v 11.103894 -8.32237 3.0
v 11.225414 -8.296178 0.0
v 11.225414 -8.296178 3.0
v 11.363965 -8.290171 0.0
v 11.363965 -8.290171 3.0
v 14.949069 -8.290171 0.0
v 14.949069 -8.290171 3.0
v 15.31983 -8.346107 0.0
v 15.31983 -8.346107 3.0
v 15.500213 -8.443584 0.0
v 15.500213 -8.443584 3.0
v 15.622814 -8.576778 0.0
v 15.622814 -8.576778 3.0
v 15.698253 -8.73692 0.0
v 15.698253 -8.73692 3.0
v 15.731678 -8.886421 0.0
v 15.731678 -8.886421 3.0
v 15.74282 -9.057463 0.0
v 15.74282 -9.057463 3.0
v 15.74282 -13.052671 0.0
v 15.74282 -13.052671 3.0
v 15.74282 -13.145275 0.0
v 15.74282 -13.145275 3.0
v 15.663445 -13.581838 0.0
v 15.663445 -13.581838 3.0
v 13.864278 -11.782671 0.0
v 13.864278 -11.782671 3.0
v 14.062716 -11.729754 0.0
v 14.062716 -11.729754 3.0
v 14.419903 -11.729754 0.0
v 14.419903 -11.729754 3.0
v 14.419903 -10.406837 0.0
v 14.419903 -10.406837 3.0
v 12.488444 -10.406837 0.0
v 12.488444 -10.406837 3.0
vn -0.903643786907196 0.42828500270843506 0.0
vn -0.903643786907196 0.42828500270843506 0.0
vn -0.6999881267547607 0.7141544818878174 0.0
vn -0.6999881267547607 0.7141544818878174 0.0
vn -0.43729478120803833 0.899318277835846 0.0
vn -0.43729478120803833 0.899318277835846 0.0
vn -0.21069571375846863 0.9775516986846924 0.0
vn -0.21069571375846863 0.9775516986846924 0.0
vn -0.04331665858626366 0.9990614056587219 0.0
vn -0.04331665858626366 0.9990614056587219 0.0
vn 0.0 1.0 0.0
vn 0.0 1.0 -0.0
vn 0.14917953312397003 0.988810122013092 0.0
vn 0.14917953312397003 0.988810122013092 -0.0
vn 0.4754179120063782 0.8797601461410522 -0.0
vn 0.4754179120063782 0.8797601461410522 0.0
vn 0.7357574105262756 0.6772451400756836 -0.0
vn 0.7357574105262756 0.6772451400756836 0.0
vn 0.9046497941017151 0.42615583539009094 -0.0
vn 0.9046497941017151 0.42615583539009094 0.0
vn 0.97590571641922 0.21819256246089935 -0.0
vn 0.97590571641922 0.21819256246089935 0.0
vn 0.9978850483894348 0.06500301510095596 -0.0
vn 0.9978850483894348 0.06500301510095596 0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 0.9838697910308838 -0.17888601124286652 0.0
vn 0.9838697910308838 -0.17888601124286652 0.0
vn -0.7071067690849304 -0.7071067690849304 0.0
vn -0.7071067690849304 -0.7071067690849304 0.0
vn -0.25766175985336304 0.9662351012229919 0.0
vn -0.25766175985336304 0.9662351012229919 0.0
vn 0.0 1.0 0.0
vn 0.0 1.0 -0.0
vn -1.0 0.0 0.0
vn -1.0 0.0 0.0
vn 0.0 -1.0 0.0
vn 0.0 -1.0 0.0
vn -0.7071068286895752 -0.7071068286895752 0.0
vn -0.7071068286895752 -0.7071068286895752 0.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
f 1//1 2//1 3//1
f 1//2 3//2 4//2
f 5//3 4//3 6//3
f 5//4 1//4 4//4
f 7//5 6//5 8//5
f 7//6 5//6 6//6
f 9//7 8//7 10//7
f 9//8 7//8 8//8
f 11//9 10//9 12//9
f 11//10 9//10 10//10
f 13//11 11//11 12//11
f 13//12 12//12 14//12
f 15//13 13//13 14//13
f 15//14 14//14 16//14
f 17//15 16//15 18//15
f 17//16 15//16 16//16
f 19//17 18//17 20//17
f 19//18 17//18 18//18
f 21//19 20//19 22//19
f 21//20 19//20 20//20
f 23//21 22//21 24//21
f 23//22 21//22 22//22
f 25//23 24//23 26//23
f 25//24 23//24 24//24
f 27//25 25//25 26//25
f 27//26 26//26 28//26
f 29//27 27//27 28//27
f 29//28 28//28 30//28
f 31//29 29//29 30//29
f 31//30 30//30 32//30
f 33//31 31//31 32//31
f 33//32 32//32 34//32
f 35//33 33//33 34//33
f 35//34 34//34 36//34
f 37//35 35//35 36//35
f 37//36 36//36 38//36
f 39//37 37//37 38//37
f 39//38 38//38 40//38
f 41//39 39//39 40//39
f 41//40 40//40 42//40
f 2//41 41//41 42//41
f 2//42 42//42 3//42
f 37//43 27//43 29//43
f 37//44 29//44 31//44
f 33//45 35//45 37//45
f 33//46 37//46 31//46
f 39//47 27//47 37//47
f 25//48 27//48 39//48
f 15//49 17//49 19//49
f 15//50 19//50 21//50
f 15//51 21//51 23//51
f 13//52 23//52 25//52
f 13//53 25//53 39//53
f 13//54 15//54 23//54
f 41//55 13//55 39//55
f 11//56 13//56 41//56
f 2//57 9//57 11//57
f 2//58 11//58 41//58
f 7//59 9//59 2//59
f 1//60 5//60 7//60
f 1//61 7//61 2//61
f 28//62 38//62 30//62
f 30//63 38//63 32//63
f 36//64 34//64 38//64
f 38//65 34//65 32//65
f 28//66 40//66 38//66
f 28//67 26//67 40//67
f 18//68 16//68 20//68
f 20//69 16//69 22//69
f 22//70 16//70 24//70
f 24//71 14//71 26//71
f 26//72 14//72 40//72
f 16//73 14//73 24//73
f 14//74 42//74 40//74
f 14//75 12//75 42//75
f 10//76 3//76 12//76
f 12//77 3//77 42//77
f 10//78 8//78 3//78
f 6//79 4//79 8//79
f 8//80 4//80 3//80
o Extrude001
usemtl color_000000
v 9.638294 -8.876664 0.0
v 9.525111 -8.964859 0.0
v 9.525111 -8.964859 3.0
v 9.638294 -8.876664 3.0
v 9.766175 -8.823748 0.0
v 9.766175 -8.823748 3.0
v 9.908757 -8.806108 0.0
v 9.908757 -8.806108 3.0
v 10.049869 -8.823748 0.0
v 10.049869 -8.823748 3.0
v 10.17334 -8.876664 0.0
v 10.17334 -8.876664 3.0
v 10.279174 -8.964859 0.0
v 10.279174 -8.964859 3.0
v 16.36459 -15.050275 3.0
v 16.36459 -15.050275 0.0
v 16.452785 -15.156109 0.0
v 16.452785 -15.156109 3.0
v 16.505701 -15.27958 0.0
v 16.505701 -15.27958 3.0
v 16.52334 -15.420691 0.0
v 16.52334 -15.420691 3.0
v 16.505701 -15.563273 0.0
v 16.505701 -15.563273 3.0
v 16.452785 -15.691155 0.0
v 16.452785 -15.691155 3.0
v 16.36459 -15.804338 0.0
v 16.36459 -15.804338 3.0
v 16.258757 -15.885183 0.0
v 16.258757 -15.885183 3.0
v 16.135284 -15.93369 0.0
v 16.135284 -15.93369 3.0
v 15.994174 -15.949859 0.0
v 15.994174 -15.949859 3.0
v 15.851592 -15.93369 0.0
v 15.851592 -15.93369 3.0
v 15.72371 -15.885183 0.0
v 15.72371 -15.885183 3.0
v 15.610528 -15.804338 0.0
v 15.610528 -15.804338 3.0
v 9.525111 -9.718921 3.0
v 9.525111 -9.718921 0.0
v 9.444265 -9.605739 0.0
v 9.444265 -9.605739 3.0
v 9.395759 -9.477857 0.0
v 9.395759 -9.477857 3.0
v 9.37959 -9.335276 0.0
v 9.37959 -9.335276 3.0
v 9.395759 -9.194164 0.0
v 9.395759 -9.194164 3.0
v 9.444265 -9.070692 0.0
v 9.444265 -9.070692 3.0
vn -0.6146508455276489 0.7887993454933167 0.0
vn -0.6146508455276489 0.7887993454933167 0.0
vn -0.3823532164096832 0.9240162372589111 0.0
vn -0.3823532164096832 0.9240162372589111 0.0
vn -0.12277647852897644 0.9924343228340149 0.0
vn -0.12277647852897644 0.9924343228340149 0.0
vn 0.12403638660907745 0.9922776818275452 0.0
vn 0.12403638660907745 0.9922776818275452 -0.0
vn 0.39392101764678955 0.9191442728042603 -0.0
vn 0.39392101764678955 0.9191442728042603 0.0
vn 0.6401837468147278 0.7682218551635742 -0.0
vn 0.6401837468147278 0.7682218551635742 0.0
vn 0.7071067690849304 0.7071067690849304 0.0
vn 0.7071067690849304 0.7071067690849304 -0.0
vn 0.768218457698822 0.6401877999305725 0.0
vn 0.768218457698822 0.6401877999305725 -0.0
vn 0.9191468954086304 0.3939150273799896 -0.0
vn 0.9191468954086304 0.3939150273799896 0.0
vn 0.9922776818275452 0.12403638660907745 -0.0
vn 0.9922776818275452 0.12403638660907745 0.0
vn 0.9924343228340149 -0.12277647852897644 0.0
vn 0.9924343228340149 -0.12277647852897644 0.0
vn 0.9240196943283081 -0.38234490156173706 0.0
vn 0.9240196943283081 -0.38234490156173706 0.0
vn 0.7887935638427734 -0.6146581768989563 0.0
vn 0.7887935638427734 -0.6146581768989563 0.0
vn 0.6070457696914673 -0.7946668863296509 0.0
vn 0.6070457696914673 -0.7946668863296509 0.0
vn 0.36565104126930237 -0.9307520389556885 0.0
vn 0.36565104126930237 -0.9307520389556885 0.0
vn 0.11383631825447083 -0.9934995174407959 0.0
vn 0.11383631825447083 -0.9934995174407959 0.0
vn -0.1126764640212059 -0.9936317205429077 0.0
vn -0.1126764640212059 -0.9936317205429077 0.0
vn -0.3546527624130249 -0.934998095035553 0.0
vn -0.3546527624130249 -0.934998095035553 0.0
vn -0.5812453031539917 -0.8137283325195312 0.0
vn -0.5812453031539917 -0.8137283325195312 0.0
vn -0.7071067690849304 -0.7071067690849304 0.0
vn -0.7071067690849304 -0.7071067690849304 0.0
vn -0.8137283325195312 -0.5812453031539917 0.0
vn -0.8137283325195312 -0.5812453031539917 0.0
vn -0.934998095035553 -0.3546527624130249 0.0
vn -0.934998095035553 -0.3546527624130249 0.0
vn -0.9936316013336182 -0.112677201628685 0.0
vn -0.9936316013336182 -0.112677201628685 0.0
vn -0.9934996366500854 0.11383556574583054 0.0
vn -0.9934996366500854 0.11383556574583054 0.0
vn -0.9307520389556885 0.36565104126930237 0.0
vn -0.9307520389556885 0.36565104126930237 0.0
vn -0.7946668863296509 0.6070457696914673 0.0
vn -0.7946668863296509 0.6070457696914673 0.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
f 43//81 44//81 45//81
f 43//82 45//82 46//82
f 47//83 46//83 48//83
f 47//84 43//84 46//84
f 49//85 48//85 50//85
f 49//86 47//86 48//86
f 51//87 49//87 50//87
f 51//88 50//88 52//88
f 53//89 52//89 54//89
f 53//90 51//90 52//90
f 55//91 54//91 56//91
f 55//92 53//92 54//92
f 57//93 55//93 56//93
f 58//94 55//94 57//94
f 59//95 58//95 57//95
f 59//96 57//96 60//96
f 61//97 60//97 62//97
f 61//98 59//98 60//98
f 63//99 62//99 64//99
f 63//100 61//100 62//100
f 65//101 63//101 64//101
f 65//102 64//102 66//102
f 67//103 66//103 68//103
f 67//104 65//104 66//104
f 69//105 68//105 70//105
f 69//106 67//106 68//106
f 71//107 69//107 70//107
f 71//108 70//108 72//108
f 73//109 72//109 74//109
f 73//110 71//110 72//110
f 75//111 74//111 76//111
f 75//112 73//112 74//112
f 77//113 75//113 76//113
f 77//114 76//114 78//114
f 79//115 78//115 80//115
f 79//116 77//116 78//116
f 81//117 80//117 82//117
f 81//118 79//118 80//118
f 83//119 81//119 82//119
f 84//120 81//120 83//120
f 85//121 84//121 83//121
f 85//122 83//122 86//122
f 87//123 86//123 88//123
f 87//124 85//124 86//124
f 89//125 88//125 90//125
f 89//126 87//126 88//126
f 91//127 89//127 90//127
f 91//128 90//128 92//128
f 93//129 92//129 94//129
f 93//130 91//130 92//130
f 44//131 94//131 45//131
f 44//132 93//132 94//132
f 73//133 69//133 71//133
f 75//134 63//134 65//134
f 75//135 65//135 67//135
f 75//136 67//136 69//136
f 75//137 69//137 73//137
f 58//138 59//138 61//138
f 58//139 61//139 63//139
f 58//140 75//140 77//140
f 58//141 77//141 79//141
f 58//142 79//142 81//142
f 58//143 63//143 75//143
f 84//144 58//144 81//144
f 55//145 58//145 84//145
f 85//146 55//146 84//146
f 87//147 55//147 85//147
f 51//148 53//148 55//148
f 49//149 51//149 55//149
f 89//150 55//150 87//150
f 89//151 49//151 55//151
f 47//152 49//152 89//152
f 43//153 47//153 89//153
f 44//154 89//154 91//154
f 44//155 91//155 93//155
f 44//156 43//156 89//156
f 70//157 74//157 72//157
f 64//158 76//158 66//158
f 66//159 76//159 68//159
f 68//160 76//160 70//160
f 70//161 76//161 74//161
f 60//162 57//162 62//162
f 62//163 57//163 64//163
f 76//164 57//164 78//164
f 78//165 57//165 80//165
f 80//166 57//166 82//166
f 64//167 57//167 76//167
f 57//168 83//168 82//168
f 57//169 56//169 83//169
f 56//170 86//170 83//170
f 56//171 88//171 86//171
f 54//172 52//172 56//172
f 52//173 50//173 56//173
f 56//174 90//174 88//174
f 50//175 90//175 56//175
f 50//176 48//176 90//176
f 48//177 46//177 90//177
f 90//178 45//178 92//178
f 92//179 45//179 94//179
f 46//180 45//180 90//180
o Extrude002
usemtl color_000000
v 9.154695 -13.819963 0.0
v 9.128236 -13.833192 0.0
v 9.128236 -13.833192 3.0
v 9.154695 -13.819963 3.0
v 9.558429 -13.506382 0.0
v 9.558429 -13.506382 3.0
v 9.826687 -13.374091 0.0
v 9.826687 -13.374091 3.0
v 10.107195 -13.290796 0.0
v 10.107195 -13.290796 3.0
v 10.120423 -13.290796 0.0
v 10.120423 -13.290796 3.0
v 10.715736 -13.317254 0.0
v 10.715736 -13.317254 3.0
v 10.715736 -11.650379 0.0
v 10.715736 -11.650379 3.0
v 11.77407 -12.708713 0.0
v 11.77407 -12.708713 3.0
v 11.77407 -14.904755 0.0
v 11.77407 -14.904755 3.0
v 11.73637 -15.20638 0.0
v 11.73637 -15.20638 3.0
v 11.591509 -15.508004 0.0
v 11.591509 -15.508004 3.0
v 11.435403 -15.709087 0.0
v 11.435403 -15.709087 3.0
v 11.231673 -15.910172 0.0
v 11.231673 -15.910172 3.0
v 11.218445 -15.949859 0.0
v 11.218445 -15.949859 3.0
v 10.884776 -16.214441 0.0
v 10.884776 -16.214441 3.0
v 10.518769 -16.390831 0.0
v 10.518769 -16.390831 3.0
v 10.120423 -16.479025 0.0
v 10.120423 -16.479025 3.0
v 10.107195 -16.479025 0.0
v 10.107195 -16.479025 3.0
v 9.676512 -16.465796 0.0
v 9.676512 -16.465796 3.0
v 9.301685 -16.337914 0.0
v 9.301685 -16.337914 3.0
v 8.982716 -16.095379 0.0
v 8.982716 -16.095379 3.0
v 8.741651 -15.77788 0.0
v 8.741651 -15.77788 3.0
v 8.618178 -15.407463 0.0
v 8.618178 -15.407463 3.0
v 8.612299 -14.984129 0.0
v 8.612299 -14.984129 3.0
v 8.693143 -14.562265 0.0
v 8.693143 -14.562265 3.0
v 8.865122 -14.178619 0.0
v 8.865122 -14.178619 3.0
vn -0.4472135901451111 0.8944271802902222 0.0
vn -0.4472135901451111 0.8944271802902222 0.0
vn -0.6134102940559387 0.789764404296875 0.0
vn -0.6134102940559387 0.789764404296875 0.0
vn -0.4422902762889862 0.8968719840049744 0.0
vn -0.4422902762889862 0.8968719840049744 0.0
vn -0.2846581041812897 0.9586291313171387 0.0
vn -0.2846581041812897 0.9586291313171387 0.0
vn 0.0 1.0 0.0
vn 0.0 1.0 -0.0
vn 0.044399652630090714 0.9990138411521912 0.0
vn 0.044399652630090714 0.9990138411521912 -0.0
vn -1.0 0.0 0.0
vn -1.0 0.0 0.0
vn 0.7071067690849304 0.7071067690849304 0.0
vn 0.7071067690849304 0.7071067690849304 -0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 0.9922792315483093 -0.12402353435754776 0.0
vn 0.9922792315483093 -0.12402353435754776 0.0
vn 0.9014279842376709 -0.4329291880130768 0.0
vn 0.9014279842376709 -0.4329291880130768 0.0
vn 0.7899078130722046 -0.6132255792617798 0.0
vn 0.7899078130722046 -0.6132255792617798 0.0
vn 0.7024707794189453 -0.7117125988006592 0.0
vn 0.7024707794189453 -0.7117125988006592 0.0
vn 0.9486877918243408 -0.31621405482292175 0.0
vn 0.9486877918243408 -0.31621405482292175 0.0
vn 0.6213209629058838 -0.7835561633110046 0.0
vn 0.6213209629058838 -0.7835561633110046 0.0
vn 0.43414363265037537 -0.9008437395095825 0.0
vn 0.43414363265037537 -0.9008437395095825 0.0
vn 0.21616561710834503 -0.9763566851615906 0.0
vn 0.21616561710834503 -0.9763566851615906 0.0
vn 0.0 -1.0 0.0
vn 0.0 -1.0 0.0
vn -0.03070269525051117 -0.9995285868644714 0.0
vn -0.03070269525051117 -0.9995285868644714 0.0
vn -0.3229007422924042 -0.9464328289031982 0.0
vn -0.3229007422924042 -0.9464328289031982 0.0
vn -0.6052693724632263 -0.7960207462310791 0.0
vn -0.6052693724632263 -0.7960207462310791 0.0
vn -0.7964453101158142 -0.604710578918457 0.0
vn -0.7964453101158142 -0.604710578918457 0.0
vn -0.9486833214759827 -0.3162277638912201 0.0
vn -0.9486833214759827 -0.3162277638912201 0.0
vn -0.9999036192893982 -0.01388698723167181 0.0
vn -0.9999036192893982 -0.01388698723167181 0.0
vn -0.9821286797523499 0.18821047246456146 0.0
vn -0.9821286797523499 0.18821047246456146 0.0
vn -0.9125096201896667 0.40905535221099854 0.0
vn -0.9125096201896667 0.40905535221099854 0.0
vn -0.7955081462860107 0.6059427857398987 0.0
vn -0.7955081462860107 0.6059427857398987 0.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
f 95//181 96//181 97//181
f 95//182 97//182 98//182
f 99//183 95//183 98//183
f 99//184 98//184 100//184
f 101//185 100//185 102//185
f 101//186 99//186 100//186
f 103//187 102//187 104//187
f 103//188 101//188 102//188
f 105//189 103//189 104//189
f 105//190 104//190 106//190
f 107//191 105//191 106//191
f 107//192 106//192 108//192
f 109//193 107//193 108//193
f 109//194 108//194 110//194
f 111//195 109//195 110//195
f 111//196 110//196 112//196
f 113//197 111//197 112//197
f 113//198 112//198 114//198
f 115//199 113//199 114//199
f 115//200 114//200 116//200
f 117//201 116//201 118//201
f 117//202 115//202 116//202
f 119//203 118//203 120//203
f 119//204 117//204 118//204
f 121//205 120//205 122//205
f 121//206 119//206 120//206
f 123//207 121//207 122//207
f 123//208 122//208 124//208
f 125//209 123//209 124//209
f 125//210 124//210 126//210
f 127//211 126//211 128//211
f 127//212 125//212 126//212
f 129//213 128//213 130//213
f 129//214 127//214 128//214
f 131//215 129//215 130//215
f 131//216 130//216 132//216
f 133//217 131//217 132//217
f 133//218 132//218 134//218
f 135//219 134//219 136//219
f 135//220 133//220 134//220
f 137//221 136//221 138//221
f 137//222 135//222 136//222
f 139//223 137//223 138//223
f 139//224 138//224 140//224
f 141//225 140//225 142//225
f 141//226 139//226 140//226
f 143//227 142//227 144//227
f 143//228 141//228 142//228
f 145//229 143//229 144//229
f 145//230 144//230 146//230
f 147//231 146//231 148//231
f 147//232 145//232 146//232
f 96//233 148//233 97//233
f 96//234 147//234 148//234
f 125//235 121//235 123//235
f 113//236 115//236 117//236
f 113//237 117//237 119//237
f 131//238 127//238 129//238
f 137//239 133//239 135//239
f 107//240 111//240 113//240
f 141//241 137//241 139//241
f 143//242 131//242 133//242
f 143//243 127//243 131//243
f 143//244 133//244 137//244
f 143//245 137//245 141//245
f 145//246 125//246 127//246
f 145//247 121//247 125//247
f 145//248 127//248 143//248
f 101//249 103//249 105//249
f 101//250 105//250 107//250
f 101//251 107//251 113//251
f 99//252 119//252 121//252
f 99//253 113//253 119//253
f 99//254 101//254 113//254
f 147//255 121//255 145//255
f 95//256 99//256 121//256
f 95//257 121//257 147//257
f 96//258 95//258 147//258
f 109//259 111//259 107//259
f 122//260 126//260 124//260
f 116//261 114//261 118//261
f 118//262 114//262 120//262
f 128//263 132//263 130//263
f 134//264 138//264 136//264
f 112//265 108//265 114//265
f 138//266 142//266 140//266
f 132//267 144//267 134//267
f 128//268 144//268 132//268
f 134//269 144//269 138//269
f 138//270 144//270 142//270
f 126//271 146//271 128//271
f 122//272 146//272 126//272
f 128//273 146//273 144//273
f 104//274 102//274 106//274
f 106//275 102//275 108//275
f 108//276 102//276 114//276
f 120//277 100//277 122//277
f 114//278 100//278 120//278
f 102//279 100//279 114//279
f 122//280 148//280 146//280
f 100//281 98//281 122//281
f 122//282 98//282 148//282
f 98//283 97//283 148//283
f 112//284 110//284 108//284
o Extrude003
usemtl color_000000
v 13.99657 -14.931212 0.0
v 12.55459 -13.489234 0.0
v 12.55459 -13.489234 3.0
v 13.99657 -14.931212 3.0
v 13.589406 -14.895939 0.0
v 13.589406 -14.895939 3.0
v 13.232218 -14.754826 0.0
v 13.232218 -14.754826 3.0
v 12.925007 -14.507879 0.0
v 12.925007 -14.507879 3.0
v 12.70746 -14.224187 0.0
v 12.70746 -14.224187 3.0
v 12.583988 -13.884639 0.0
v 12.583988 -13.884639 3.0
vn 0.7071065306663513 0.7071070075035095 0.0
vn 0.7071065306663513 0.7071070075035095 -0.0
vn -0.08630910515785217 -0.9962684512138367 0.0
vn -0.08630910515785217 -0.9962684512138367 0.0
vn -0.367432177066803 -0.9300503134727478 0.0
vn -0.367432177066803 -0.9300503134727478 0.0
vn -0.6265150904655457 -0.7794093489646912 0.0
vn -0.6265150904655457 -0.7794093489646912 0.0
vn -0.7935402393341064 -0.6085178852081299 0.0
vn -0.7935402393341064 -0.6085178852081299 0.0
vn -0.9397932291030884 -0.34174346923828125 0.0
vn -0.9397932291030884 -0.34174346923828125 0.0
vn -0.9972474575042725 -0.0741443857550621 0.0
vn -0.9972474575042725 -0.0741443857550621 0.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
f 149//285 150//285 151//285
f 149//286 151//286 152//286
f 153//287 149//287 152//287
f 153//288 152//288 154//288
f 155//289 154//289 156//289
f 155//290 153//290 154//290
f 157//291 156//291 158//291
f 157//292 155//292 156//292
f 159//293 157//293 158//293
f 159//294 158//294 160//294
f 161//295 160//295 162//295
f 161//296 159//296 160//296
f 150//297 162//297 151//297
f 150//298 161//298 162//298
f 157//299 149//299 153//299
f 157//300 153//300 155//300
f 161//301 157//301 159//301
f 150//302 149//302 157//302
f 150//303 157//303 161//303
f 152//304 158//304 154//304
f 154//305 158//305 156//305
f 158//306 162//306 160//306
f 152//307 151//307 158//307
f 158//308 151//308 162//308

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg45"
sodipodi:docname="icon_nosound.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata49">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1016"
id="namedview47"
showgrid="false"
inkscape:zoom="2.36"
inkscape:cx="13.611356"
inkscape:cy="-44.291691"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="svg45" />
<defs
id="defs39" />
<g
id="g43"
transform="translate(-228.49958,-129.66707)">
<path
d="m 269.2,162.5 c 0.3,-1.03333 1.05,-1.53333 2.25,-1.5 H 285 c 2,0 3,0.96667 3,2.9 v 15.1 0.35 l -0.3,1.65 -6.8,-6.8 0.75,-0.2 H 283 v -5 h -7.3 l -6.5,-6.5 m -4.7,1.05 c 0.4,-0.4 0.88333,-0.6 1.45,-0.6 0.56667,0 1.03333,0.2 1.4,0.6 l 23,23 c 0.4,0.36667 0.6,0.83333 0.6,1.4 0,0.56667 -0.2,1.05 -0.6,1.45 -0.36667,0.36667 -0.83333,0.55 -1.4,0.55 -0.56667,0 -1.05,-0.18333 -1.45,-0.55 l -23,-23 c -0.36667,-0.4 -0.55,-0.88333 -0.55,-1.45 0,-0.56667 0.18333,-1.03333 0.55,-1.4 m -1.5,18.4 0.1,-0.05 c 1.1,-1.06667 2.3,-1.73333 3.6,-2 h 0.05 L 269,180 v -6.3 l 4,4 v 8.3 c 0.0667,1.26667 -0.61667,2.53333 -2.05,3.8 l -0.05,0.15 c -1.2,1.16667 -2.58333,1.83333 -4.15,2 h -0.05 c -1.73333,0.16667 -3.15,-0.31667 -4.25,-1.45 -1.13333,-1.1 -1.6,-2.5 -1.4,-4.2 0.13333,-1.66667 0.78333,-3.11667 1.95,-4.35 m 12.95,-1.3 5.45,5.45 c -1.63333,0.0667 -2.98333,-0.46667 -4.05,-1.6 -1,-0.96667 -1.46667,-2.25 -1.4,-3.85"
id="path41"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none"
sodipodi:nodetypes="ccssccccccccccsccsssccscccccccccccccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -19,7 +19,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -37,7 +37,7 @@
id="namedview10"
showgrid="false"
inkscape:zoom="1.7451937"
inkscape:cx="259.11091"
inkscape:cx="260.25691"
inkscape:cy="-18.435883"
inkscape:window-x="0"
inkscape:window-y="27"
@ -47,12 +47,12 @@
id="defs2" />
<g
id="g6"
style="fill:#ff00ff"
style="fill:#000000"
transform="translate(-733.89831,-588.13559)">
<path
d="m 779.9,603.85 c 0.56667,-0.6 1.26667,-0.9 2.1,-0.9 0.83333,0 1.55,0.3 2.15,0.9 l 10.05,10.05 c 0.56667,0.56667 0.85,1.26667 0.85,2.1 0,0.83333 -0.28333,1.55 -0.85,2.15 -0.6,0.56667 -1.31667,0.85 -2.15,0.85 -0.83333,0 -1.53333,-0.28333 -2.1,-0.85 L 787,615.2 V 629 h 13.8 l -2.9,-2.9 c -0.6,-0.6 -0.9,-1.31667 -0.9,-2.15 0,-0.83333 0.3,-1.53333 0.9,-2.1 0.56667,-0.6 1.26667,-0.9 2.1,-0.9 0.83333,0 1.55,0.3 2.15,0.9 l 10.05,10.05 c 0.56667,0.56667 0.85,1.26667 0.85,2.1 0,0.83333 -0.28333,1.53333 -0.85,2.1 l -10.05,10.05 c -0.6,0.6 -1.3,0.9 -2.1,0.9 -0.83333,0 -1.55,-0.28333 -2.15,-0.85 -0.6,-0.6 -0.9,-1.3 -0.9,-2.1 0,-0.83333 0.3,-1.55 0.9,-2.15 L 800.85,639 H 787 v 13.85 l 2.95,-2.95 c 0.56667,-0.6 1.26667,-0.9 2.1,-0.9 0.8,0 1.5,0.3 2.1,0.9 0.6,0.56667 0.9,1.26667 0.9,2.1 0,0.8 -0.28333,1.5 -0.85,2.1 l -10.05,10.05 c -0.6,0.6 -1.31667,0.9 -2.15,0.9 -0.83333,0 -1.53333,-0.28333 -2.1,-0.85 l -10.05,-10.05 c -0.6,-0.6 -0.9,-1.31667 -0.9,-2.15 0,-0.83333 0.3,-1.53333 0.9,-2.1 0.56667,-0.6 1.26667,-0.9 2.1,-0.9 0.83333,0 1.55,0.3 2.15,0.9 l 2.9,2.9 V 639 h -13.8 l 2.95,2.95 c 0.56667,0.56667 0.85,1.26667 0.85,2.1 0,0.83333 -0.28333,1.55 -0.85,2.15 -0.6,0.56667 -1.31667,0.85 -2.15,0.85 -0.83333,0 -1.53333,-0.28333 -2.1,-0.85 l -10.05,-10.05 c -0.6,-0.6 -0.9,-1.31667 -0.9,-2.15 0,-0.83333 0.3,-1.53333 0.9,-2.1 l 10.05,-10.05 c 0.56667,-0.6 1.26667,-0.9 2.1,-0.9 0.8,0 1.5,0.3 2.1,0.9 0.6,0.56667 0.9,1.26667 0.9,2.1 0,0.8 -0.28333,1.5 -0.85,2.1 L 763.2,629 H 777 v -13.8 l -2.9,2.9 c -0.6,0.6 -1.3,0.9 -2.1,0.9 -0.83333,0 -1.55,-0.28333 -2.15,-0.85 -0.6,-0.6 -0.9,-1.3 -0.9,-2.1 0,-0.83333 0.3,-1.55 0.9,-2.15 l 10.05,-10.05"
id="path4"
style="fill:#ff00ff;stroke:none"
style="fill:#000000;stroke:none"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssscsscccsscssssssscssccccscscssssscsscccsscssssccscsccccsscssc" />
</g>

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

637
asset/icons/icon_sound.obj Normal file
View File

@ -0,0 +1,637 @@
# FreeCAD v0.19 build24291 (Git) Arch module
# http://www.freecadweb.org
mtllib icon_sound.mtl
o Extrude
usemtl color_000000
v 16.233683 -14.491642 0.0
v 16.233683 -10.496433 0.0
v 16.233683 -10.496433 3.0
v 16.233683 -14.491642 3.0
v 16.233683 -14.584246 0.0
v 16.233683 -14.584246 3.0
v 16.139608 -15.039917 0.0
v 16.139608 -15.039917 3.0
v 15.963219 -15.436791 0.0
v 15.963219 -15.436791 3.0
v 15.704515 -15.774871 0.0
v 15.704515 -15.774871 3.0
v 15.678058 -15.774871 0.0
v 15.678058 -15.774871 3.0
v 15.341449 -16.074732 0.0
v 15.341449 -16.074732 3.0
v 14.966621 -16.268761 0.0
v 14.966621 -16.268761 3.0
v 14.553578 -16.356955 0.0
v 14.553578 -16.356955 3.0
v 14.540349 -16.356955 0.0
v 14.540349 -16.356955 3.0
v 14.115545 -16.340786 0.0
v 14.115545 -16.340786 3.0
v 13.740719 -16.204084 0.0
v 13.740719 -16.204084 3.0
v 13.41587 -15.94685 0.0
v 13.41587 -15.94685 3.0
v 13.180684 -15.63229 0.0
v 13.180684 -15.63229 3.0
v 13.057212 -15.253054 0.0
v 13.057212 -15.253054 3.0
v 13.045453 -14.809142 0.0
v 13.045453 -14.809142 3.0
v 13.133648 -14.403447 0.0
v 13.133648 -14.403447 3.0
v 13.310037 -14.033031 0.0
v 13.310037 -14.033031 3.0
v 13.57462 -13.697892 0.0
v 13.57462 -13.697892 3.0
v 13.990113 -13.371246 0.0
v 13.990113 -13.371246 3.0
v 14.265721 -13.241405 0.0
v 14.265721 -13.241405 3.0
v 14.553578 -13.168725 0.0
v 14.553578 -13.168725 3.0
v 14.910766 -13.168725 0.0
v 14.910766 -13.168725 3.0
v 14.910766 -11.845809 0.0
v 14.910766 -11.845809 3.0
v 12.264933 -11.845809 0.0
v 12.264933 -11.845809 3.0
v 12.264933 -16.343725 0.0
v 12.264933 -16.343725 3.0
v 12.227233 -16.645351 0.0
v 12.227233 -16.645351 3.0
v 12.082372 -16.946976 0.0
v 12.082372 -16.946976 3.0
v 11.926267 -17.148058 0.0
v 11.926267 -17.148058 3.0
v 11.722536 -17.349142 0.0
v 11.722536 -17.349142 3.0
v 11.709308 -17.38883 0.0
v 11.709308 -17.38883 3.0
v 11.375639 -17.653414 0.0
v 11.375639 -17.653414 3.0
v 11.009632 -17.829802 0.0
v 11.009632 -17.829802 3.0
v 10.611286 -17.917995 0.0
v 10.611286 -17.917995 3.0
v 10.598058 -17.917995 0.0
v 10.598058 -17.917995 3.0
v 10.167375 -17.904768 0.0
v 10.167375 -17.904768 3.0
v 9.792548 -17.776884 0.0
v 9.792548 -17.776884 3.0
v 9.473578 -17.534349 0.0
v 9.473578 -17.534349 3.0
v 9.232513 -17.21685 0.0
v 9.232513 -17.21685 3.0
v 9.109041 -16.846434 0.0
v 9.109041 -16.846434 3.0
v 9.103162 -16.4231 0.0
v 9.103162 -16.4231 3.0
v 9.184006 -16.001236 0.0
v 9.184006 -16.001236 3.0
v 9.355985 -15.61759 0.0
v 9.355985 -15.61759 3.0
v 9.619099 -15.272162 0.0
v 9.619099 -15.272162 3.0
v 9.645557 -15.258934 0.0
v 9.645557 -15.258934 3.0
v 10.049292 -14.945354 0.0
v 10.049292 -14.945354 3.0
v 10.31755 -14.813062 0.0
v 10.31755 -14.813062 3.0
v 10.598058 -14.729767 0.0
v 10.598058 -14.729767 3.0
v 10.611286 -14.729767 0.0
v 10.611286 -14.729767 3.0
v 11.206599 -14.756226 0.0
v 11.206599 -14.756226 3.0
v 11.206599 -10.522892 0.0
v 11.206599 -10.522892 3.0
v 11.253823 -10.106966 0.0
v 11.253823 -10.106966 3.0
v 11.324765 -9.956154 0.0
v 11.324765 -9.956154 3.0
v 11.425388 -9.844931 0.0
v 11.425388 -9.844931 3.0
v 11.560803 -9.769015 0.0
v 11.560803 -9.769015 3.0
v 11.696816 -9.735796 0.0
v 11.696816 -9.735796 3.0
v 11.854828 -9.729142 0.0
v 11.854828 -9.729142 3.0
v 15.439933 -9.729142 0.0
v 15.439933 -9.729142 3.0
v 15.810693 -9.785078 0.0
v 15.810693 -9.785078 3.0
v 15.991076 -9.882555 0.0
v 15.991076 -9.882555 3.0
v 16.113678 -10.01575 0.0
v 16.113678 -10.01575 3.0
v 16.189116 -10.175891 0.0
v 16.189116 -10.175891 3.0
v 16.22254 -10.325392 0.0
v 16.22254 -10.325392 3.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 0.9793466925621033 -0.20218807458877563 0.0
vn 0.9793466925621033 -0.20218807458877563 0.0
vn 0.913810670375824 -0.4061405062675476 0.0
vn 0.913810670375824 -0.4061405062675476 0.0
vn 0.794162929058075 -0.6077048778533936 0.0
vn 0.794162929058075 -0.6077048778533936 0.0
vn 0.0 -1.0 0.0
vn 0.0 -1.0 0.0
vn 0.6651726961135864 -0.7466895580291748 0.0
vn 0.6651726961135864 -0.7466895580291748 0.0
vn 0.45970815420150757 -0.8880700469017029 0.0
vn 0.45970815420150757 -0.8880700469017029 0.0
vn 0.20881523191928864 -0.977955162525177 0.0
vn 0.20881523191928864 -0.977955162525177 0.0
vn 0.0 -1.0 0.0
vn 0.0 -1.0 0.0
vn -0.03803378716111183 -0.9992763996124268 0.0
vn -0.03803378716111183 -0.9992763996124268 0.0
vn -0.3426307439804077 -0.9394701719284058 0.0
vn -0.3426307439804077 -0.9394701719284058 0.0
vn -0.6207954287528992 -0.7839725613594055 0.0
vn -0.6207954287528992 -0.7839725613594055 0.0
vn -0.8008965253829956 -0.5988027453422546 0.0
vn -0.8008965253829956 -0.5988027453422546 0.0
vn -0.9508714079856873 -0.30958592891693115 0.0
vn -0.9508714079856873 -0.30958592891693115 0.0
vn -0.9996493458747864 -0.026479780673980713 0.0
vn -0.9996493458747864 -0.026479780673980713 0.0
vn -0.9771762490272522 0.21243032813072205 0.0
vn -0.9771762490272522 0.21243032813072205 0.0
vn -0.9028606414794922 0.4299333095550537 0.0
vn -0.9028606414794922 0.4299333095550537 0.0
vn -0.7848819494247437 0.6196452975273132 0.0
vn -0.7848819494247437 0.6196452975273132 0.0
vn -0.6180403828620911 0.7861464023590088 0.0
vn -0.6180403828620911 0.7861464023590088 0.0
vn -0.42618367075920105 0.9046366810798645 0.0
vn -0.42618367075920105 0.9046366810798645 0.0
vn -0.24480240046977997 0.9695729613304138 0.0
vn -0.24480240046977997 0.9695729613304138 0.0
vn 0.0 1.0 0.0
vn 0.0 1.0 -0.0
vn -1.0 0.0 0.0
vn -1.0 0.0 0.0
vn 0.0 -1.0 0.0
vn 0.0 -1.0 0.0
vn 1.0 0.0 0.0
vn 1.0 0.0 0.0
vn 0.9922793507575989 -0.12402315437793732 0.0
vn 0.9922793507575989 -0.12402315437793732 0.0
vn 0.9014279842376709 -0.4329291880130768 0.0
vn 0.9014279842376709 -0.4329291880130768 0.0
vn 0.7899082899093628 -0.6132250428199768 0.0
vn 0.7899082899093628 -0.6132250428199768 0.0
vn 0.7024691104888916 -0.7117142081260681 0.0
vn 0.7024691104888916 -0.7117142081260681 0.0
vn 0.9486901760101318 -0.31620725989341736 0.0
vn 0.9486901760101318 -0.31620725989341736 0.0
vn 0.6213223338127136 -0.7835550904273987 0.0
vn 0.6213223338127136 -0.7835550904273987 0.0
vn 0.43413978815078735 -0.900845468044281 0.0
vn 0.43413978815078735 -0.900845468044281 0.0
vn 0.21616561710834503 -0.9763566851615906 0.0
vn 0.21616561710834503 -0.9763566851615906 0.0
vn 0.0 -1.0 0.0
vn 0.0 -1.0 0.0
vn -0.030698275193572044 -0.9995287656784058 0.0
vn -0.030698275193572044 -0.9995287656784058 0.0
vn -0.3229050636291504 -0.9464313983917236 0.0
vn -0.3229050636291504 -0.9464313983917236 0.0
vn -0.6052693724632263 -0.7960207462310791 0.0
vn -0.6052693724632263 -0.7960207462310791 0.0
vn -0.7964453101158142 -0.604710578918457 0.0
vn -0.7964453101158142 -0.604710578918457 0.0
vn -0.9486833214759827 -0.3162277638912201 0.0
vn -0.9486833214759827 -0.3162277638912201 0.0
vn -0.9999036192893982 -0.01388698723167181 0.0
vn -0.9999036192893982 -0.01388698723167181 0.0
vn -0.9821286797523499 0.18821047246456146 0.0
vn -0.9821286797523499 0.18821047246456146 0.0
vn -0.9125096201896667 0.40905535221099854 0.0
vn -0.9125096201896667 0.40905535221099854 0.0
vn -0.7955081462860107 0.6059427857398987 0.0
vn -0.7955081462860107 0.6059427857398987 0.0
vn -0.4471878111362457 0.8944401144981384 0.0
vn -0.4471878111362457 0.8944401144981384 0.0
vn -0.6134102940559387 0.789764404296875 0.0
vn -0.6134102940559387 0.789764404296875 0.0
vn -0.44229283928871155 0.8968707323074341 0.0
vn -0.44229283928871155 0.8968707323074341 0.0
vn -0.2846581041812897 0.9586291313171387 0.0
vn -0.2846581041812897 0.9586291313171387 0.0
vn 0.0 1.0 0.0
vn 0.0 1.0 -0.0
vn 0.044401250779628754 0.9990137815475464 0.0
vn 0.044401250779628754 0.9990137815475464 -0.0
vn -1.0 0.0 0.0
vn -1.0 0.0 0.0
vn -0.9936160445213318 0.11281470954418182 0.0
vn -0.9936160445213318 0.11281470954418182 0.0
vn -0.9048845767974854 0.4256570637226105 0.0
vn -0.9048845767974854 0.4256570637226105 0.0
vn -0.7415603399276733 0.670886218547821 0.0
vn -0.7415603399276733 0.670886218547821 0.0
vn -0.4890097975730896 0.8722782731056213 0.0
vn -0.4890097975730896 0.8722782731056213 0.0
vn -0.23726239800453186 0.9714455604553223 0.0
vn -0.23726239800453186 0.9714455604553223 0.0
vn -0.04207223653793335 0.9991145730018616 0.0
vn -0.04207223653793335 0.9991145730018616 0.0
vn 0.0 1.0 0.0
vn 0.0 1.0 -0.0
vn 0.14917992055416107 0.9888100624084473 0.0
vn 0.14917992055416107 0.9888100624084473 -0.0
vn 0.4754142761230469 0.8797619938850403 -0.0
vn 0.4754142761230469 0.8797619938850403 0.0
vn 0.7357572913169861 0.6772454380989075 -0.0
vn 0.7357572913169861 0.6772454380989075 0.0
vn 0.9046509265899658 0.4261535108089447 -0.0
vn 0.9046509265899658 0.4261535108089447 0.0
vn 0.975907027721405 0.2181866317987442 -0.0
vn 0.975907027721405 0.2181866317987442 0.0
vn 0.9978846907615662 0.06500855833292007 -0.0
vn 0.9978846907615662 0.06500855833292007 0.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 -0.0 -1.0
vn 0.0 0.0 -1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn -0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 0.0 1.0
vn 0.0 -0.0 1.0
vn 0.0 0.0 1.0
f 1//1 2//1 3//1
f 1//2 3//2 4//2
f 5//3 1//3 4//3
f 5//4 4//4 6//4
f 7//5 5//5 6//5
f 7//6 6//6 8//6
f 9//7 8//7 10//7
f 9//8 7//8 8//8
f 11//9 10//9 12//9
f 11//10 9//10 10//10
f 13//11 11//11 12//11
f 13//12 12//12 14//12
f 15//13 13//13 14//13
f 15//14 14//14 16//14
f 17//15 16//15 18//15
f 17//16 15//16 16//16
f 19//17 18//17 20//17
f 19//18 17//18 18//18
f 21//19 19//19 20//19
f 21//20 20//20 22//20
f 23//21 21//21 22//21
f 23//22 22//22 24//22
f 25//23 24//23 26//23
f 25//24 23//24 24//24
f 27//25 26//25 28//25
f 27//26 25//26 26//26
f 29//27 27//27 28//27
f 29//28 28//28 30//28
f 31//29 30//29 32//29
f 31//30 29//30 30//30
f 33//31 32//31 34//31
f 33//32 31//32 32//32
f 35//33 33//33 34//33
f 35//34 34//34 36//34
f 37//35 36//35 38//35
f 37//36 35//36 36//36
f 39//37 38//37 40//37
f 39//38 37//38 38//38
f 41//39 39//39 40//39
f 41//40 40//40 42//40
f 43//41 42//41 44//41
f 43//42 41//42 42//42
f 45//43 44//43 46//43
f 45//44 43//44 44//44
f 47//45 45//45 46//45
f 47//46 46//46 48//46
f 49//47 47//47 48//47
f 49//48 48//48 50//48
f 51//49 49//49 50//49
f 51//50 50//50 52//50
f 53//51 51//51 52//51
f 53//52 52//52 54//52
f 55//53 53//53 54//53
f 55//54 54//54 56//54
f 57//55 56//55 58//55
f 57//56 55//56 56//56
f 59//57 58//57 60//57
f 59//58 57//58 58//58
f 61//59 60//59 62//59
f 61//60 59//60 60//60
f 63//61 61//61 62//61
f 63//62 62//62 64//62
f 65//63 63//63 64//63
f 65//64 64//64 66//64
f 67//65 66//65 68//65
f 67//66 65//66 66//66
f 69//67 68//67 70//67
f 69//68 67//68 68//68
f 71//69 69//69 70//69
f 71//70 70//70 72//70
f 73//71 71//71 72//71
f 73//72 72//72 74//72
f 75//73 74//73 76//73
f 75//74 73//74 74//74
f 77//75 76//75 78//75
f 77//76 75//76 76//76
f 79//77 77//77 78//77
f 79//78 78//78 80//78
f 81//79 80//79 82//79
f 81//80 79//80 80//80
f 83//81 82//81 84//81
f 83//82 81//82 82//82
f 85//83 83//83 84//83
f 85//84 84//84 86//84
f 87//85 86//85 88//85
f 87//86 85//86 86//86
f 89//87 88//87 90//87
f 89//88 87//88 88//88
f 91//89 89//89 90//89
f 91//90 90//90 92//90
f 93//91 91//91 92//91
f 93//92 92//92 94//92
f 95//93 94//93 96//93
f 95//94 93//94 94//94
f 97//95 96//95 98//95
f 97//96 95//96 96//96
f 99//97 97//97 98//97
f 99//98 98//98 100//98
f 101//99 99//99 100//99
f 101//100 100//100 102//100
f 103//101 101//101 102//101
f 103//102 102//102 104//102
f 105//103 103//103 104//103
f 105//104 104//104 106//104
f 107//105 106//105 108//105
f 107//106 105//106 106//106
f 109//107 108//107 110//107
f 109//108 107//108 108//108
f 111//109 110//109 112//109
f 111//110 109//110 110//110
f 113//111 112//111 114//111
f 113//112 111//112 112//112
f 115//113 114//113 116//113
f 115//114 113//114 114//114
f 117//115 115//115 116//115
f 117//116 116//116 118//116
f 119//117 117//117 118//117
f 119//118 118//118 120//118
f 121//119 120//119 122//119
f 121//120 119//120 120//120
f 123//121 122//121 124//121
f 123//122 121//122 122//122
f 125//123 124//123 126//123
f 125//124 123//124 124//124
f 127//125 126//125 128//125
f 127//126 125//126 126//126
f 2//127 128//127 3//127
f 2//128 127//128 128//128
f 9//129 11//129 13//129
f 21//130 17//130 19//130
f 27//131 21//131 23//131
f 27//132 23//132 25//132
f 65//133 61//133 63//133
f 53//134 55//134 57//134
f 53//135 57//135 59//135
f 71//136 67//136 69//136
f 31//137 27//137 29//137
f 31//138 21//138 27//138
f 47//139 1//139 5//139
f 47//140 5//140 7//140
f 33//141 17//141 21//141
f 33//142 21//142 31//142
f 35//143 15//143 17//143
f 35//144 17//144 33//144
f 43//145 45//145 47//145
f 43//146 47//146 7//146
f 41//147 7//147 9//147
f 41//148 43//148 7//148
f 41//149 9//149 13//149
f 37//150 13//150 15//150
f 37//151 15//151 35//151
f 39//152 41//152 13//152
f 39//153 13//153 37//153
f 77//154 73//154 75//154
f 49//155 1//155 47//155
f 2//156 1//156 49//156
f 81//157 77//157 79//157
f 119//158 121//158 123//158
f 119//159 123//159 125//159
f 119//160 125//160 127//160
f 83//161 77//161 81//161
f 83//162 67//162 71//162
f 83//163 71//163 73//163
f 83//164 73//164 77//164
f 85//165 61//165 65//165
f 85//166 65//166 67//166
f 85//167 67//167 83//167
f 117//168 2//168 49//168
f 117//169 119//169 127//169
f 117//170 127//170 2//170
f 95//171 101//171 53//171
f 95//172 97//172 99//172
f 95//173 99//173 101//173
f 93//174 53//174 59//174
f 93//175 59//175 61//175
f 93//176 95//176 53//176
f 87//177 61//177 85//177
f 91//178 93//178 61//178
f 91//179 61//179 87//179
f 89//180 91//180 87//180
f 115//181 49//181 51//181
f 115//182 117//182 49//182
f 115//183 51//183 103//183
f 105//184 113//184 115//184
f 105//185 115//185 103//185
f 111//186 113//186 105//186
f 107//187 111//187 105//187
f 109//188 111//188 107//188
f 51//189 53//189 101//189
f 101//190 103//190 51//190
f 12//191 10//191 14//191
f 18//192 22//192 20//192
f 22//193 28//193 24//193
f 24//194 28//194 26//194
f 62//195 66//195 64//195
f 56//196 54//196 58//196
f 58//197 54//197 60//197
f 68//198 72//198 70//198
f 28//199 32//199 30//199
f 22//200 32//200 28//200
f 4//201 48//201 6//201
f 6//202 48//202 8//202
f 18//203 34//203 22//203
f 22//204 34//204 32//204
f 16//205 36//205 18//205
f 18//206 36//206 34//206
f 46//207 44//207 48//207
f 48//208 44//208 8//208
f 8//209 42//209 10//209
f 44//210 42//210 8//210
f 10//211 42//211 14//211
f 14//212 38//212 16//212
f 16//213 38//213 36//213
f 42//214 40//214 14//214
f 14//215 40//215 38//215
f 74//216 78//216 76//216
f 4//217 50//217 48//217
f 4//218 3//218 50//218
f 78//219 82//219 80//219
f 122//220 120//220 124//220
f 124//221 120//221 126//221
f 126//222 120//222 128//222
f 78//223 84//223 82//223
f 68//224 84//224 72//224
f 72//225 84//225 74//225
f 74//226 84//226 78//226
f 62//227 86//227 66//227
f 66//228 86//228 68//228
f 68//229 86//229 84//229
f 3//230 118//230 50//230
f 120//231 118//231 128//231
f 128//232 118//232 3//232
f 102//233 96//233 54//233
f 98//234 96//234 100//234
f 100//235 96//235 102//235
f 54//236 94//236 60//236
f 60//237 94//237 62//237
f 96//238 94//238 54//238
f 62//239 88//239 86//239
f 94//240 92//240 62//240
f 62//241 92//241 88//241
f 92//242 90//242 88//242
f 50//243 116//243 52//243
f 118//244 116//244 50//244
f 52//245 116//245 104//245
f 114//246 106//246 116//246
f 116//247 106//247 104//247
f 114//248 112//248 106//248
f 112//249 108//249 106//249
f 112//250 110//250 108//250
f 54//251 52//251 102//251
f 104//252 102//252 52//252

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg8"
sodipodi:docname="icon_sound.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1246"
inkscape:window-height="860"
id="namedview10"
showgrid="false"
inkscape:zoom="1.0904847"
inkscape:cx="118.26309"
inkscape:cy="16.274924"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="svg8" />
<defs
id="defs2" />
<g
id="g6"
transform="translate(-176.64435,-124.22844)">
<path
d="m 238,163.9 v 15.1 0.35 c -0.2,1.83333 -0.86667,3.33333 -2,4.5 h -0.1 c -1.2,1.33333 -2.61667,2.06667 -4.25,2.2 h -0.05 c -1.7,0.16667 -3.11667,-0.35 -4.25,-1.55 -1.1,-1.06667 -1.56667,-2.5 -1.4,-4.3 0.16667,-1.6 0.83333,-3 2,-4.2 1.13333,-1.13333 2.36667,-1.8 3.7,-2 H 233 v -5 h -10 v 17 c 0.0667,1.26667 -0.61667,2.53333 -2.05,3.8 l -0.05,0.15 c -1.2,1.16667 -2.58333,1.83333 -4.15,2 h -0.05 c -1.73333,0.16667 -3.15,-0.31667 -4.25,-1.45 -1.13333,-1.1 -1.6,-2.5 -1.4,-4.2 0.13333,-1.66667 0.78333,-3.11667 1.95,-4.35 l 0.1,-0.05 c 1.1,-1.06667 2.3,-1.73333 3.6,-2 h 0.05 L 219,180 v -16 c -0.0667,-2.06667 0.75,-3.06667 2.45,-3 H 235 c 2,0 3,0.96667 3,2.9"
id="path4"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:none"
sodipodi:nodetypes="ccccccccccccccccccccccccccccsc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
asset/sounds/book_close.ogg Normal file

Binary file not shown.

BIN
asset/sounds/book_flip.ogg Normal file

Binary file not shown.

BIN
asset/sounds/book_open.ogg Normal file

Binary file not shown.

Binary file not shown.

286
ct.py
View File

@ -69,28 +69,16 @@ color_text_red = (0.799, 0.031, 0.038, 1)
color_text_orange = (0.799, 0.176, 0.054, 1)
color_text_yellow = (0.799, 0.617, 0.021, 1)
color_cmd = (0.8, 0.8, 0.8, 1) # Blanc
color_cmd_hl = (0.8, 0.619, 0.021, 1) # Jaune
# color_link = (0.024, 0.006, 0.8, 1) # Bleu
# color_link_hl = (0.8, 0.005, 0.315, 1) # Majenta
color_link = (0.799, 0.617, 0.021, 1) # Jaune
# color_link = (0.021, 0.257, 0.267, 1) # Vert fonçé
color_link_hl = (0.8, 0.8, 0.8, 1) # Blanc
color_doc_chap = (0.153, 0.116, 0.105, 1) # WoodDark
color_doc_fct = (0.326, 0.101, 0.0592, 1) # BrownDark
# color_doc_fct = (0.577, 0.233, 0.115, 1) # Brown
# color_doc_hl = (0.799, 0.617, 0.021, 1) # Yellow
color_doc_hl = (0.13, 0.254, 0.407, 1) # BlueDark
color_doc_activate = (1.0, 0.025, 0.116, 1) # Red
# Sounds
audiodev = aud.Device()
snd_click = aud.Sound('asset/sounds/click.ogg')
sndbuff_click = aud.Sound.cache(snd_click)
snd_construct = aud.Sound('asset/sounds/click_construct.ogg')
sndbuff_construct = aud.Sound.cache(snd_construct)
snd_book_open = aud.Sound('asset/sounds/book_open.ogg')
sndbuff_book_open = aud.Sound.cache(snd_book_open)
snd_book_close = aud.Sound('asset/sounds/book_close.ogg')
sndbuff_book_close = aud.Sound.cache(snd_book_close)
# UPBGE constants
JUST_ACTIVATED = bge.logic.KX_INPUT_JUST_ACTIVATED
@ -107,7 +95,7 @@ def cmd_tower_construct(cont):
obj = cont.owner
obj_Hl= scene.objects[obj.name+"-Hl"]
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive and scene.objects['Terrain']['manip_mode']==0:
audiodev.play(sndbuff_construct)
sound_play (sndbuff_construct)
if scene.objects['Terrain']['construct_mode']==True:
scene.objects['Terrain']['construct_mode']=False
obj.worldScale=[1, 1, 1]
@ -126,6 +114,7 @@ def cmd_tower_construct(cont):
scene.objects['Tower_construc_mode'].setVisible(True,False)
scene.objects['Tower_construc_mode'].color = color_cmd
text_info ("Tower position : ")
scene.objects['Cmd_text']['Text']= ""
###############################################################################
# User interface : texte info et compteurs
@ -246,6 +235,7 @@ def scn_terrain_mo (cont):
scene.objects['Tower_construc_mode'].worldPosition.y=round(hitPosition.y)
scene.objects['Tower_construc_mode'].worldPosition.z=0.2
text_info ("Tower position : "+str(round(hitPosition.x))+","+str(round(hitPosition.y)))
scene.objects['Cmd_text']['Text']= ""
# Affiche les informations sur la tour
# FIXME : High-light sur la tower sélectionnée
@ -268,6 +258,7 @@ def terrain_init (cont):
# Cacher la bannière de fin
scene.objects['End'].setVisible(False,True)
scene.objects['End']['timer']=0
scene.objects['Doc'].setVisible(False,True)
# Pile des draws
scene.objects['Terrain']['draw_process']=False
@ -301,7 +292,7 @@ def terrain_init (cont):
# Mise en route et pause du cycle
def terrain_run ():
audiodev.play(sndbuff_click)
sound_play (sndbuff_click)
# Pause
if scene.objects['Terrain']['run'] == True:
@ -363,7 +354,7 @@ def terrain_run ():
# Arrêt et réinitialisation du cycle
def terrain_stop ():
audiodev.play(sndbuff_click)
sound_play (sndbuff_click)
# Arrêt des threads utilisateurs
scene.objects['Terrain']['run']=False
@ -404,9 +395,10 @@ def terrain_end ():
# Affichage des résultats
if scene.objects['End']['timer']== 0:
scene.objects['Terrain']['manip_mode']=9 # Fenêtre modale
scene.objects['Camera'].worldPosition.x = scene.objects['Camera']['init_lx']
scene.objects['Camera'].worldPosition.y = scene.objects['Camera']['init_ly']
scene.objects['Camera'].worldPosition.z = scene.objects['Camera']['init_lz']
manip_reset()
# scene.objects['Camera'].worldPosition.x = scene.objects['Camera']['init_lx']
# scene.objects['Camera'].worldPosition.y = scene.objects['Camera']['init_ly']
# scene.objects['Camera'].worldPosition.z = scene.objects['Camera']['init_lz']
# Wave
if scene.objects['Points']['wave']== scene.objects['Terrain']['nb_waves'] and scene.objects['Points']['lifes'] > 0:
@ -447,7 +439,7 @@ def terrain_end ():
# Vitesse du jeu
def terrain_speed (obj):
audiodev.play(sndbuff_click)
sound_play (sndbuff_click)
speed_mode=[0.25, 0.5, 1,2,4,10]
speed_mode_txt=["1/4", "1/2", "1", "2","4","10"]
i=speed_mode.index(scene.objects['Terrain']['speed'])
@ -480,7 +472,7 @@ def terrain_speed (obj):
with open("ct_config.xml", "wb") as f:
f.write(buffer_xml)
# Page de fin
# Highlight de la page de fin
def endbanner_hl(cont):
if cont.sensors['MO'].status == JUST_ACTIVATED:
if scene.objects['Mouse_main']['mouse_graphic']:
@ -497,26 +489,74 @@ def endbanner_hl(cont):
scene.objects['Endbanner_points'].color = color_black
scene.objects['Endbanner_ok'].color = color_black
def endbanner_close(cont):
# Fermer la page de fin
def endbanner_close():
print("endbanner_close")
sound_play (sndbuff_click)
scene.objects['Terrain']['manip_mode']=0
scene.objects['End'].setVisible(False,True)
scene.objects['End'].worldPosition = [20, 1.53623, -0.892838] # Position dans Blender [20, 1.53623, -0.892838]
scene.objects['Endbanner'].color = [0.592, 0.68, 0.407, 1]
scene.objects['Endbanner_wave'].color = color_black
scene.objects['Endbanner_points'].color = color_black
scene.objects['End']['timer']= 0
# Click pour fermer la page de fin
def endbanner_close_click(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
audiodev.play(sndbuff_click)
scene.objects['Terrain']['manip_mode']=0
scene.objects['End'].setVisible(False,True)
scene.objects['End'].worldPosition = [20, 1.53623, -0.892838] # Position dans Blender [20, 1.53623, -0.892838]
scene.objects['Endbanner'].color = [0.592, 0.68, 0.407, 1]
scene.objects['Endbanner_wave'].color = color_black
scene.objects['Endbanner_points'].color = color_black
scene.objects['End']['timer']= 0
endbanner_close()
###############################################################################
# Sons
###############################################################################
def sound_play (sound):
if scene.objects['Commands']['sound']:
audiodev.play(sound)
def sound_set ():
scene.objects['NoSound-cmd'].suspendPhysics()
scene.objects['NoSound-cmd'].setVisible(False,False)
scene.objects['NoSound-cmd-Hl'].setVisible(False,False)
scene.objects['Sound-cmd']. restorePhysics()
scene.objects['Sound-cmd-Hl'].setVisible(True,False)
scene.objects['Commands']['sound']=True
scene.objects['Cmd_text']['Text']= "Unset sound"
scene.objects['Cmd_text'].setVisible(True,False)
# Maj du fichier de config (sound : data/config/sound -> [0][1].text)
ct_config_tree[0][1].text=str(scene.objects['Commands']['sound'])
buffer_xml = ET.tostring(ct_config_tree)
with open("ct_config.xml", "wb") as f:
f.write(buffer_xml)
def sound_unset ():
scene.objects['Sound-cmd'].suspendPhysics()
scene.objects['Sound-cmd'].setVisible(False,False)
scene.objects['Sound-cmd-Hl'].setVisible(False,False)
scene.objects['NoSound-cmd']. restorePhysics()
scene.objects['NoSound-cmd-Hl'].setVisible(True,False)
scene.objects['Commands']['sound']=False
scene.objects['Cmd_text']['Text']= "Set sound"
scene.objects['Cmd_text'].setVisible(True,False)
# Maj du fichier de config (sound : data/config/sound -> [0][1].text)
ct_config_tree[0][1].text=str(scene.objects['Commands']['sound'])
buffer_xml = ET.tostring(ct_config_tree)
with open("ct_config.xml", "wb") as f:
f.write(buffer_xml)
###############################################################################
# Commandes
###############################################################################
color_cmd = (0.8, 0.8, 0.8, 1) # Blanc
color_cmd_hl = (0.8, 0.619, 0.021, 1) # Jaune
# Init
def cmd_init():
# scene.objects['Terrain']['run']=False
# UI : Commandes
# UI : Commands
scene.objects['Run-Hl'].setVisible(False,False)
scene.objects['Pause'].setVisible(False,False)
scene.objects['Pause'].suspendPhysics()
@ -529,7 +569,15 @@ def cmd_init():
scene.objects['About-cmd-Hl'].setVisible(False,False)
scene.objects['About'].setVisible(False,True)
# UI : Texte, ...
# UI : Sounds
# Read config (sound : data/config/sound -> [0][1].text)
if ct_config_tree[0][1].text == "True":
sound_set ()
else:
sound_unset ()
audiodev.unlock()
# UI : Text, ...
scene.objects['Cmd_text'].setVisible(False,False)
scene.objects['Map_text'].setVisible(False,False)
scene.objects['Text_info-1'].setVisible(False,False)
@ -551,23 +599,21 @@ def cmd_init():
scene.objects['Mouse_main'].setVisible(False,False)
bge.render.showMouse(True)
# scene.objects['Raz-vue-Hl'].setVisible(False,False)
# scene.objects['Aide-cmd-Hl'].setVisible(False,False)
# Récupérer la config (vitesse du jeu : data/config/speed)
# Speed
# Read config (game speed : data/config/speed -> [0][0].text)
speed_mode=[0.25, 0.5, 1,2,4,10]
speed_mode_txt=["1/4", "1/2", "1", "2","4","10"]
scene.objects['Terrain']['speed']=float(ct_config_tree[0][0].text)
i=speed_mode.index(scene.objects['Terrain']['speed'])
scene.objects['Text_speed']['Text']=speed_mode_txt[i]
# Le highlight des commandes
# Highlight des commandes
def cmd_hl(cont):
obj = cont.owner
# Activation
if cont.sensors['MO'].status == JUST_ACTIVATED and scene.objects['Terrain']['manip_mode']==0:
if obj.name!="Run" and obj.name!="Pause" and obj.name!="Run-Hl" and obj.name!="Pause-Hl" and obj.name!="Stop" and obj.name!="Stop-Hl" :
if obj.name!="Run" and obj.name!="Pause" and obj.name!="Stop" :
obj.setVisible(False,True)
scene.objects[obj.name+'-Hl'].setVisible(True,True)
@ -594,44 +640,55 @@ def cmd_hl(cont):
"Book-cmd": "Documentation",
"About-cmd": "About",
"Speed_down": "Speed down (-)",
"Speed_up": "Speed up (+)"}
scene.objects['Cmd_text']['Text']= text_hl[obj.name]
"Speed_up": "Speed up (+)",
"Sound-cmd": "Unset sound",
"NoSound-cmd": "Set sound"}
text=text_hl[obj.name]
if obj.name == "Construc" and scene.objects['Terrain']['construct_mode']==True: # Bascule le construct
text="Hide tower position"
scene.objects['Cmd_text']['Text']= text
scene.objects['Cmd_text'].setVisible(True,False)
# if scene.objects['Terrain']['run'] == False and obj.name=="Run":
# scene.objects['Cmd_text']['Text']= "Run"
# if scene.objects['Terrain']['run'] == True and obj.name=="Stop":
# scene.objects['Cmd_text']['Text']= "Stop"
# if scene.objects['Terrain']['run'] == True and obj.name=="Pause":
# scene.objects['Cmd_text']['Text']= "Pause"
# Désactivation
if cont.sensors['MO'].status == JUST_RELEASED and (scene.objects['Terrain']['manip_mode']==0 or scene.objects['Terrain']['manip_mode']==9):
scene.objects['Cmd_text'].setVisible(False,False)
if obj.name!="Run" and obj.name!="Pause" and obj.name!="Run-Hl" and obj.name!="Pause-Hl" and obj.name!="Stop" and obj.name!="Stop-Hl" :
if obj.name!="Run" and obj.name!="Pause" and obj.name!="Stop" and obj.name!="Sound-cmd" and obj.name!="NoSound-cmd":
scene.objects[obj.name+'-Hl'].setVisible(False,True)
obj.setVisible(True,True)
scene.objects['Cmd_text'].setVisible(False,False)
# Run et pause
if obj.name=="Pause" or obj.name=="Run":
if scene.objects['Terrain']['run'] == True:
scene.objects['Pause-Hl'].setVisible(False,False)
scene.objects['Pause'].setVisible(True,False)
scene.objects['Cmd_text'].setVisible(False,False)
else:
scene.objects['Run-Hl'].setVisible(False,False)
scene.objects['Run'].setVisible(True,False)
scene.objects['Cmd_text'].setVisible(False,False)
# Stop
if obj.name=="Stop":
if scene.objects['Terrain']['thread_run']==True:
scene.objects['Stop-Hl'].setVisible(False,False)
scene.objects['Stop'].setVisible(True,False)
scene.objects['Cmd_text'].setVisible(False,False)
# Sound
if obj.name=="NoSound-cmd" and scene.objects['Commands']['sound']==False:
scene.objects['NoSound-cmd-Hl'].setVisible(False,False)
scene.objects['NoSound-cmd'].setVisible(True,False)
scene.objects['Cmd_text'].setVisible(False,False)
if obj.name=="Sound-cmd" and scene.objects['Commands']['sound']==True:
scene.objects['Sound-cmd-Hl'].setVisible(False,False)
scene.objects['Sound-cmd'].setVisible(True,False)
scene.objects['Cmd_text'].setVisible(False,False)
# Click sur les commandes
def cmd_click (cont):
obj = cont.owner
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive and scene.objects['Terrain']['manip_mode']==0:
if obj.name=="Pause" or obj.name=="Run": # FIXME problème sur l'icone pause
if obj.name=="Pause" or obj.name=="Run":
terrain_run ()
if obj.name=="Stop":
terrain_stop ()
@ -639,6 +696,10 @@ def cmd_click (cont):
terrain_speed (obj)
if obj.name=="About-cmd":
about_open ()
if obj.name=="Sound-cmd":
sound_unset ()
if obj.name=="NoSound-cmd":
sound_set ()
###############################################################################
# Gestion du clavier
@ -656,10 +717,27 @@ def mode(cont):
# Touche ESC
if JUST_ACTIVATED in keyboard.inputs[bge.events.ESCKEY].queue:
terrain_stop ()
bge.logic.endGame()
print("ESC")
print(scene.objects['Terrain']['manip_mode'])
# Fenêtres modales
if scene.objects['Terrain']['manip_mode']==9:
print("['manip_mode']==9")
if scene.objects['Book'].visible:
print("Book")
doc_close()
if scene.objects['About'].visible:
print("About")
about_close()
if scene.objects['End'].visible:
print("End")
endbanner_close()
return
else: # Sortir du jeux
print("endgame")
terrain_stop ()
bge.logic.endGame()
# Fenêtre modale
# Fenêtre modale (inhibition des touches hors ESC)
if scene.objects['Terrain']['manip_mode']==9:
return
@ -687,10 +765,7 @@ def mode(cont):
# Touche Home -> Reset de la vue
if JUST_ACTIVATED in keyboard.inputs[bge.events.HOMEKEY].queue:
scene.objects['Camera'].worldPosition.x = scene.objects['Camera']['init_lx']
scene.objects['Camera'].worldPosition.y = scene.objects['Camera']['init_ly']
scene.objects['Camera'].worldPosition.z = scene.objects['Camera']['init_lz']
applyRotationTo(scene.objects['Terrain'], 0, 0, 0)
manip_reset()
if scene.objects['Mouse_main']['mouse_graphic']:
bge.render.setMousePosition(int(bge.render.getWindowWidth() / 2), int(bge.render.getWindowHeight() / 2))
@ -732,6 +807,12 @@ def manip_init(cont):
scene.objects['Terrain']['init_rx']=scene.objects['Terrain'].worldOrientation.to_euler().x
scene.objects['Terrain']['init_ry']=scene.objects['Terrain'].worldOrientation.to_euler().y
scene.objects['Terrain']['init_rz']=scene.objects['Terrain'].worldOrientation.to_euler().z
scene.objects['Commands']['init_lx']=scene.objects['Commands'].worldPosition.x
scene.objects['Commands']['init_ly']=scene.objects['Commands'].worldPosition.y
scene.objects['Commands']['init_lz']=scene.objects['Commands'].worldPosition.z
scene.objects['Points']['init_lx']=scene.objects['Points'].worldPosition.x
scene.objects['Points']['init_ly']=scene.objects['Points'].worldPosition.y
scene.objects['Points']['init_lz']=scene.objects['Points'].worldPosition.z
# Atteindre une orientation (bas niveau)
def applyRotationTo(obj, rx=None, ry=None, rz=None, Local=True):
@ -765,12 +846,19 @@ def applyRotationTo(obj, rx=None, ry=None, rz=None, Local=True):
# print ("delta z ",rz-obj.worldOrientation.to_euler().z)
# Reset de la manipulation de la vue
def manip_reset(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive and scene.objects['Terrain']['manip_mode']==0:
scene.objects['Camera'].worldPosition.x = scene.objects['Camera']['init_lx']
scene.objects['Camera'].worldPosition.y = scene.objects['Camera']['init_ly']
scene.objects['Camera'].worldPosition.z = scene.objects['Camera']['init_lz']
applyRotationTo(scene.objects['Terrain'], 0, 0, 0)
def manip_reset():
# if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive and scene.objects['Terrain']['manip_mode']==0:
scene.objects['Camera'].worldPosition.x = scene.objects['Camera']['init_lx']
scene.objects['Camera'].worldPosition.y = scene.objects['Camera']['init_ly']
scene.objects['Camera'].worldPosition.z = scene.objects['Camera']['init_lz']
scene.objects['Commands'].worldPosition.x = scene.objects['Commands']['init_lx']
scene.objects['Commands'].worldPosition.y = scene.objects['Commands']['init_ly']
scene.objects['Commands'].worldPosition.z = scene.objects['Commands']['init_lz']
scene.objects['Points'].worldPosition.x = scene.objects['Points']['init_lx']
scene.objects['Points'].worldPosition.y = scene.objects['Points']['init_ly']
scene.objects['Points'].worldPosition.z = scene.objects['Points']['init_lz']
applyRotationTo(scene.objects['Terrain'], 0, 0, 0)
scene.objects['Cmd_text']['Text']= ""
# Position de départ pour la manipulation de la vue
def manip_start(cont):
@ -796,6 +884,9 @@ def manip(cont):
# Pan
if obj['manip_mode']==1: # Shift
scene.objects['Camera'].applyMovement((delta_x*-sensibilite_pan, delta_y*sensibilite_pan, 0), True)
scene.objects['Commands'].applyMovement((delta_x*-sensibilite_pan, delta_y*sensibilite_pan*math.cos(50*2*math.pi*(1/360)), delta_y*sensibilite_pan*math.sin(50*2*math.pi*(1/360))), True)
scene.objects['Points'].applyMovement((delta_x*-sensibilite_pan, delta_y*sensibilite_pan*math.cos(50*2*math.pi*(1/360)), delta_y*sensibilite_pan*math.sin(50*2*math.pi*(1/360))), True)
if scene.objects['Mouse_main']['mouse_graphic']:
scene.objects['Mouse_main'].applyMovement((delta_x*-sensibilite_pan, delta_y*sensibilite_pan, 0), True)
@ -816,7 +907,6 @@ def manip(cont):
scene.objects['Camera']['past_ly']=scene.objects['Camera'].worldPosition.y
scene.objects['Camera']['past_lz']=scene.objects['Camera'].worldPosition.z
# Manipulation du modèle ou de la caméra
def manip_wheel(cont):
if scene.objects['Terrain']['manip_mode']!=9: # Fenêtre modale
@ -921,9 +1011,17 @@ def mouse_down():
# Documentation
###############################################################################
color_doc_chap = (0.153, 0.116, 0.105, 1) # WoodDark
color_doc_fct = (0.326, 0.101, 0.0592, 1) # BrownDark
color_doc_hl = (0.13, 0.254, 0.407, 1) # BlueDark
color_doc_activate = (1.0, 0.025, 0.116, 1) # Red
# Ouvrir le livre
def doc (cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive and scene.objects['Terrain']['manip_mode']==0:
scene.objects['Terrain']['manip_mode']=9 # Fenêtre modale
sound_play (sndbuff_book_open)
manip_reset()
scene.objects['Book'].worldPosition = [0, -22, 16.5]
scene.objects['Book_close'].color = color_doc_chap
scene.objects['Book_chap-screen'].color = color_doc_chap
@ -951,14 +1049,22 @@ def doc (cont):
scene.objects['Book_page_screen'].worldPosition = scene.objects['Book'].worldPosition
scene.objects['Book_page_screen'].setVisible(True,True)
def doc_close (cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
scene.objects['Terrain']['manip_mode']=0 # Fenêtre modale
scene.objects['Book_page_screen'].setVisible(False,True)
scene.objects['Book'].setVisible(False,True)
scene.objects['Book'].worldPosition = [28, 0.84549, 1.53626] # Position dans Blender [28, 0.84549, 1.53626]
scene.objects['Book_page_screen'].worldPosition = scene.objects['Book'].worldPosition
# Fermer le livre
def doc_close ():
print("doc_close")
sound_play (sndbuff_book_close)
scene.objects['Terrain']['manip_mode']=0 # Fenêtre modale
scene.objects['Book_page_screen'].setVisible(False,True)
scene.objects['Book'].setVisible(False,True)
scene.objects['Book'].worldPosition = [28, 0.84549, 1.53626] # Position dans Blender [28, 0.84549, 1.53626]
scene.objects['Book_page_screen'].worldPosition = scene.objects['Book'].worldPosition
# Click pour fermer le livre
def doc_close_click (cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
doc_close()
# Highlight du livre
def doc_hl (cont):
if cont.sensors['MO'].status == JUST_ACTIVATED :
obj = cont.owner
@ -983,8 +1089,13 @@ def doc_hl (cont):
# About
###############################################################################
color_link = (0.799, 0.617, 0.021, 1) # Jaune
color_link_hl = (0.8, 0.8, 0.8, 1) # Blanc
# Ouvrir le about
def about_open():
scene.objects['Terrain']['manip_mode']=9 # Fenêtre modale
manip_reset()
scene.objects['About_title'].color = color_black
scene.objects['About_text'].color = color_black
scene.objects['About_copyright'].color = color_black
@ -1000,6 +1111,7 @@ def about_open():
scene.objects['About']['timer'] = 0
scene.objects['About']['anim'] = True
# Animation du about
def about_open_anim():
pas=0.5
scene.objects['About'].localPosition.y -= pas
@ -1010,6 +1122,7 @@ def about_open_anim():
if scene.objects['About']['timer']== 40:
scene.objects['About']['anim'] = False
# Highlight du about
def about_hl(cont):
# decal = 18
# size_scale = 0.2
@ -1044,15 +1157,22 @@ def about_hl(cont):
# scene.objects['Mouse_main'].worldScale=[30, 30, 30]
# print("about_hl R après", scene.objects['Mouse_main'].worldPosition)
def about_close(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
audiodev.play(sndbuff_click)
scene.objects['Terrain']['manip_mode']=0
scene.objects['About'].setVisible(False,True)
scene.objects['About'].worldPosition = [22, 1.53623, -0.892838]
scene.objects['Aboutbanner'].color = [0.592, 0.68, 0.407, 1]
scene.objects['About']['timer']= 0
# Fermer le about
def about_close():
print("about_close")
sound_play (sndbuff_click)
scene.objects['Terrain']['manip_mode']=0
scene.objects['About'].setVisible(False,True)
scene.objects['About'].worldPosition = [22, 1.53623, -0.892838]
scene.objects['Aboutbanner'].color = [0.592, 0.68, 0.407, 1]
scene.objects['About']['timer']= 0
# Click pour fermer le about
def about_close_click(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
about_close()
# Liens du about
def about_link(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
obj = cont.owner

View File

@ -1,5 +1,6 @@
<data>
<config>
<speed>4.0</speed>
<speed>10.0</speed>
<sound>False</sound>
</config>
</data>

View File

@ -1,4 +1,5 @@
import bge # Bibliothèque Blender Game Engine (UPBGE)
import aud # Sounds
###############################################################################
# ct_doc.py
@ -24,30 +25,28 @@ color_doc_fct = (0.326, 0.101, 0.0592, 1) # BrownDark
color_doc_hl = (0.13, 0.254, 0.407, 1) # BlueDark
color_doc_activate = (1.0, 0.025, 0.116, 1) # Red
# Sounds
audiodev = aud.Device()
snd_book_flip = aud.Sound('asset/sounds/book_flip.ogg')
sndbuff_book_flip = aud.Sound.cache(snd_book_flip)
# UPBGE constants
JUST_ACTIVATED = bge.logic.KX_INPUT_JUST_ACTIVATED
JUST_RELEASED = bge.logic.KX_INPUT_JUST_RELEASED
ACTIVATE = bge.logic.KX_INPUT_ACTIVE
# JUST_DEACTIVATED = bge.logic.KX_SENSOR_JUST_DEACTIVATED
###############################################################################
# Screen
###############################################################################
###############################################################################
# Map
###############################################################################
# Get your level : ct_level ()
# - Return your level (integer)
#
# Time management (temporization) : ct_sleep (delay)
map_fct=["ct_level", "ct_sleep"]
# ct_level ()
ct_level_title="Get your level"
ct_level_text=" ct_level ()\n \v - Return your level (integer)"
# ct_sleep (delay)
ct_sleep_title="Time management"
ct_sleep_text=" ct_sleep (delay)\n \v - delay : duration in seconds (float)"
@ -60,15 +59,17 @@ map_fct_text=[ct_level_text, ct_sleep_text]
tower_fct=["ct_build", "ct_remove"]
# ct_build (x, y, category, name, color, style)
ct_build_title="Build a tower"
ct_build_text="ct_build (x,y, category, name, color, style)\n \v- x position (integer)\n \v- y position (integer)\n"
ct_build_text = ct_build_text +" \v- category (string) : \n \v \v- \"Archer tower\" (default value)\n \v \v- \"Mage tower\"\n"
ct_build_text = ct_build_text +" \v- name (string)\n \v- color (RGB tuple, default=purple)\n"
ct_build_text = ct_build_text +" \v- style (string) : \n \v \v- \"square\" (default value) or \"round\"\n \v \v- version : A (default value), B or C\n \v \v- exemple : 'round-B' \n"
ct_build_text = ct_build_text +" \v- Return boolean flag (builded -> True)\n\n"
ct_build_text = ct_build_text +"Predefined color : blue, green, magenta,\n orange, purple, red, turquoise, yellow.\n\n"
ct_build_text = ct_build_text +"Predefined colors : blue, green, magenta,\n orange, purple, red, turquoise, yellow.\n\n"
ct_build_text = ct_build_text +"Exemple : ct_build (1, 1, \"Archer tower\", \n \"Tower #1\", yellow, \"round-A\")\n"
# ct_remove (x, y)
ct_remove_title="Remove a tower"
ct_remove_text=" ct_remove (x, y) \n \v - x position (integer)\n \v - y position (integer)\n"
@ -116,9 +117,19 @@ fct_text = {
'Book_chap-tech' : tech_fct_text,
'Book_chap-spell' : spell_fct_text}
###############################################################################
# Interface
###############################################################################
# Sounds
def sound_play (sound):
if scene.objects['Commands']['sound']:
audiodev.play(sound)
# Afficher le chapitre
def chapter(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive and cont.sensors['Click'].positive:
sound_play (sndbuff_book_flip)
obj = cont.owner
name_chap=obj.name[:-7]
@ -139,6 +150,7 @@ def chapter(cont):
name_fct = "Book_fct-"+str(i)
scene.objects[name_fct].setVisible(False,False)
scene.objects[name_fct].color = color_doc_fct
scene.objects["Book"]['page_fct'] = ""
scene.objects['Book_text_title'].setVisible(False,True)
scene.objects['Book_text'].setVisible(False,True)
@ -165,6 +177,7 @@ def chapter(cont):
# Afficher les details de la fonction
def function(cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
sound_play (sndbuff_book_flip)
obj = cont.owner
# Highlight des fonctions
@ -179,10 +192,7 @@ def function(cont):
# Afficher le texte de la fonction
name_chap = scene.objects["Book"]['page_chap']
print ('name_chap : ', name_chap)
print ('obj.name[9:11] : ', obj.name[9:11])
nb = int(obj.name[9:11])-1
print ('nb : ', nb)
scene.objects['Book_text_title']['Text'] = fct_title[name_chap][nb]
scene.objects['Book_text']['Text'] = fct_text[name_chap][nb]
scene.objects['Book_text_title'].setVisible(True,True)

View File

@ -159,9 +159,16 @@ def thread_cmd_start(fct):
def thread_cmd_stop():
thread_stop(threads_cmd, "commands")
###############################################################################
# Sounds
###############################################################################
def sound_play (sound):
if scene.objects['Commands']['sound']:
audiodev.play(sound)
###############################################################################
# Vagues (minions)
# Waves (minions)
###############################################################################
# Minion caracteristics : category (class), level, hp, speed, armor, bounty, lifes_damage
@ -267,7 +274,7 @@ def scn_minion_affect(cont):
obj.actuators['Steering'].velocity = obj['speed_base']*scene.objects['Terrain']['speed']
###############################################################################
# Tours
# Towers
###############################################################################
# Tower caracteristics : category (class), damage, speed, range
@ -316,7 +323,7 @@ def ct_build_details(x,y, cat='Archer tower', tower_name="Tower", color=tower_pu
tower_minion.worldScale=[0.25,0.25,0.25]
# Sounds
audiodev.play(sndbuff_build)
sound_play(sndbuff_build)
# Caracteristics
tower_carac= scene.objects['Terrain']['tower_carac']
@ -433,9 +440,9 @@ def scn_tower_near(cont):
# Sounds
if obj['cat']=="Archer tower":
audiodev.play(sndbuff_archer)
sound_play(sndbuff_archer)
if obj['cat']=="Mage tower":
audiodev.play(sndbuff_mage)
sound_play(sndbuff_mage)
# Ligne (drawLine) (vitesse rapide)
# if scene.objects['Terrain']['speed']>=1:
@ -499,7 +506,7 @@ def scn_map_end_near(cont):
sensor = obj.sensors['Near']
if sensor.positive :
for obj_i in sensor.hitObjectList :
audiodev.play(sndbuff_life)
sound_play(sndbuff_life)
if scene.objects['Points']['lifes']>0:
scene.objects['Points']['lifes']= scene.objects['Points']['lifes']-obj_i['lifes_damage']
scene.objects['Points']['minions_run'] -=1
@ -516,7 +523,7 @@ def scn_map_end_near(cont):
# # print ("obj['idm_last'], obj_i ['id'] : ", obj['idm_last'], obj_i ['id'])
# if obj['idm_last'] != obj_i ['id']:
# obj['idm_last'] = obj_i ['id']
# audiodev.play(sndbuff_life)
# sound_play(sndbuff_life)
# if scene.objects['Points']['lifes']>0:
# scene.objects['Points']['lifes']= scene.objects['Points']['lifes']-obj_i['lifes_damage']
# scene.objects['Points']['minions_run'] -=1