Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hw_24_wz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
template admin
hw_24_wz
Commits
e94703df
Commit
e94703df
authored
Jun 05, 2020
by
starry_sky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new
parent
a0067027
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
137 additions
and
51 deletions
+137
-51
publish.js
bin/publish.js
+0
-1
form.component.html
src/app/form/form.component.html
+17
-9
form.component.scss
src/app/form/form.component.scss
+34
-15
play.component.scss
src/app/play/play.component.scss
+9
-0
play.component.ts
src/app/play/play.component.ts
+77
-26
BRLNSDB_1.TTF
src/assets/font/BRLNSDB_1.TTF
+0
-0
Futura-Bold-BT.ttf
src/assets/font/Futura-Bold-BT.ttf
+0
-0
No files found.
bin/publish.js
View file @
e94703df
...
@@ -80,7 +80,6 @@ const runSpawn = async function (){
...
@@ -80,7 +80,6 @@ const runSpawn = async function (){
console
.
log
(
err
);
console
.
log
(
err
);
reject
();
reject
();
}
}
console
.
log
(
files
);
for
(
let
i
=
0
;
i
<
files
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
files
.
length
;
i
++
){
tarStream
.
addEntry
(
zippath
+
"
/
"
+
files
[
i
]);
tarStream
.
addEntry
(
zippath
+
"
/
"
+
files
[
i
]);
}
}
...
...
src/app/form/form.component.html
View file @
e94703df
...
@@ -4,10 +4,16 @@
...
@@ -4,10 +4,16 @@
<h2>
<h2>
标题
标题
</h2>
</h2>
<p
style=
"margin: 5px 0;"
>
标题:
</p>
<div
style=
"display: flex;position: relative;"
>
<input
class=
"input_button"
type=
"text"
[(
ngModel
)]="
item
.
contentObj
.
title
.
text
"
(
ngModelChange
)="
save
()"
>
<div
style=
"width: 30%;"
>
<p
style=
"margin: 5px 0;"
>
题号:
</p>
<p
style=
"margin: 5px 0;"
>
题号:
</p>
<input
style=
"width: 100px;"
type=
"text"
[(
ngModel
)]="
item
.
contentObj
.
title
.
number
"
(
ngModelChange
)="
save
()"
>
<input
style=
"width: 50%;"
type=
"text"
[(
ngModel
)]="
item
.
contentObj
.
title
.
number
"
(
ngModelChange
)="
save
()"
>
</div>
<div
style=
"width: 60%;position: absolute;right: 20px;"
>
<p
style=
"margin: 5px 0;"
>
标题:
</p>
<input
class=
"input_button"
type=
"text"
[(
ngModel
)]="
item
.
contentObj
.
title
.
text
"
(
ngModelChange
)="
save
()"
>
</div>
</div>
<p
style=
"margin: 5px 0;"
>
标题-音频:
</p>
<p
style=
"margin: 5px 0;"
>
标题-音频:
</p>
<app-audio-recorder
class=
"audio_load"
<app-audio-recorder
class=
"audio_load"
[
audioUrl
]="
item
.
contentObj
.
title
.
audio_url
"
[
audioUrl
]="
item
.
contentObj
.
title
.
audio_url
"
...
@@ -24,7 +30,7 @@
...
@@ -24,7 +30,7 @@
</div>
</div>
<div
class=
"upload_items"
>
<div
class=
"upload_items"
(
click
)="
save
()"
>
<div
class=
"load_values_item"
*
ngFor=
"let value of values; let i = index"
style=
"display: block;"
>
<div
class=
"load_values_item"
*
ngFor=
"let value of values; let i = index"
style=
"display: block;"
>
<h3>
第{{i + 1}}句
</h3>
<h3>
第{{i + 1}}句
</h3>
...
@@ -34,15 +40,15 @@
...
@@ -34,15 +40,15 @@
<label
nz-radio
nzValue=
"false"
>
否
</label>
<label
nz-radio
nzValue=
"false"
>
否
</label>
</nz-radio-group>
</nz-radio-group>
<p
style=
"margin: 5px 0;"
>
句子文本
</p>
<p
style=
"margin: 5px 0;"
>
句子文本
</p>
<input
class=
"input_button"
type=
"text"
[(
ngModel
)]="
value
.
text
"
(
ngModelChange
)="
sentence_handle
(
i
)"
>
<input
class=
"input_button"
type=
"text"
[(
ngModel
)]="
value
.
text
"
(
click
)="
save
()"
(
ngModelChange
)="
sentence_handle
(
i
)"
>
<p
style=
"margin: 5px 0;"
>
答案
</p>
<p
style=
"margin: 5px 0;"
>
答案
</p>
<nz-select
nzMode=
"multiple"
nzShowSearch
nzAllowClear
nzPlaceHolder=
"输入可快速查询"
[(
ngModel
)]="
value
.
answer
"
(
ngModelChange
)=
"
sentence_handle
(
i
)"
>
<nz-select
nzMode=
"multiple"
nzShowSearch
nzAllowClear
nzPlaceHolder=
"输入可快速查询"
[(
ngModel
)]="
value
.
answer
"
(
ngModelChange
)=
"
sentence_handle
(
i
)"
(
click
)="
save
()"
>
<div
*
ngFor=
"let text of value.word;let j = index"
>
<div
*
ngFor=
"let text of value.word;let j = index"
>
<nz-option
[
nzValue
]="
j
"
[
nzLabel
]=
"
j
+
1
+
'
-
'
+
value
.
word
[
j
]"
></nz-option>
<nz-option
[
nzValue
]="
j
"
[
nzLabel
]=
"
j
+
1
+
'
-
'
+
value
.
word
[
j
]"
(
click
)="
save
()"
></nz-option>
</div>
</div>
</nz-select>
</nz-select>
<p
style=
"margin: 5px 0;"
>
答案颜色
</p>
<p
style=
"margin: 5px 0;"
>
答案颜色
</p>
<nz-select
[(
ngModel
)]="
value
.
answer_color
"
(
ngModelChange
)="
save
()"
>
<nz-select
[(
ngModel
)]="
value
.
answer_color
"
(
ngModelChange
)="
save
()"
(
click
)="
save
()"
>
<nz-option
nzValue=
"C6161E"
nzLabel=
"红色"
></nz-option>
<nz-option
nzValue=
"C6161E"
nzLabel=
"红色"
></nz-option>
<nz-option
nzValue=
"BACF41"
nzLabel=
"绿色"
></nz-option>
<nz-option
nzValue=
"BACF41"
nzLabel=
"绿色"
></nz-option>
<nz-option
nzValue=
"6D3E21"
nzLabel=
"巧克力色"
></nz-option>
<nz-option
nzValue=
"6D3E21"
nzLabel=
"巧克力色"
></nz-option>
...
@@ -53,12 +59,14 @@
...
@@ -53,12 +59,14 @@
<app-audio-recorder
<app-audio-recorder
[
audioUrl
]="
value
.
audio_url
"
[
audioUrl
]="
value
.
audio_url
"
(
audioUploaded
)="
onAudioUploadSuccessByItem
($
event
,
value
)"
(
audioUploaded
)="
onAudioUploadSuccessByItem
($
event
,
value
)"
(
click
)="
save
()"
>
>
</app-audio-recorder>
</app-audio-recorder>
<h5
style=
"margin-top: 10px;margin-bottom: 10px;"
>
图片
</h5>
<h5
style=
"margin-top: 10px;margin-bottom: 10px;"
>
图片
</h5>
<app-upload-image-with-preview
class=
"img_load"
<app-upload-image-with-preview
class=
"img_load"
[
picUrl
]="
value
.
img_url
"
[
picUrl
]="
value
.
img_url
"
(
imageUploaded
)="
onImageUploadSuccessByItem
($
event
,
value
)"
(
imageUploaded
)="
onImageUploadSuccessByItem
($
event
,
value
)"
(
click
)="
save
()"
></app-upload-image-with-preview>
></app-upload-image-with-preview>
<button
style=
"margin-left: 10px;"
class=
"button_remove"
nz-button
nzType=
"danger"
(
click
)="
deleteValue
(
value
)"
>
<button
style=
"margin-left: 10px;"
class=
"button_remove"
nz-button
nzType=
"danger"
(
click
)="
deleteValue
(
value
)"
>
...
...
src/app/form/form.component.scss
View file @
e94703df
...
@@ -16,7 +16,7 @@ nz-select{
...
@@ -16,7 +16,7 @@ nz-select{
.body
{
.body
{
background-color
:
#C2D9FF
;
background-color
:
#C2D9FF
;
height
:
1200px
;
min-height
:
1000px
}
}
input
{
input
{
...
@@ -32,7 +32,7 @@ input{
...
@@ -32,7 +32,7 @@ input{
width
:
80%
;
width
:
80%
;
margin
:
0
auto
;
margin
:
0
auto
;
min-width
:
1200px
;
//
min-width: 1200px;
padding-top
:
20px
;
padding-top
:
20px
;
.gruop_load
{
.gruop_load
{
...
@@ -40,7 +40,7 @@ input{
...
@@ -40,7 +40,7 @@ input{
}
}
.title
{
.title
{
width
:
80
0px
;
width
:
80
%
;
background-color
:
#ffffff
;
background-color
:
#ffffff
;
padding
:
30px
;
padding
:
30px
;
border-radius
:
10px
;
border-radius
:
10px
;
...
@@ -48,18 +48,34 @@ input{
...
@@ -48,18 +48,34 @@ input{
box-shadow
:
5px
5px
10px
#9DC3F1
;
box-shadow
:
5px
5px
10px
#9DC3F1
;
position
:
relative
;
position
:
relative
;
}
}
@media
screen
and
(
max-width
:
760px
){
.button_add
{
.button_add
{
border
:
2px
solid
#ddd
;
border
:
2px
solid
#ddd
;
margin
:
20px
;
margin
:
20px
;
width
:
200px
;
width
:
100px
;
height
:
100px
;
height
:
80px
;
border-radius
:
5px
;
border-radius
:
5px
;
background-color
:
#fafafa
;
background-color
:
#fafafa
;
outline
:
none
;
font-size
:
12px
;
position
:
absolute
;
outline
:
none
;
right
:
50px
;
position
:
absolute
;
top
:
150px
;
right
:
50px
;
top
:
150px
;
}
}
@media
screen
and
(
min-width
:
760px
){
.button_add
{
border
:
2px
solid
#ddd
;
margin
:
20px
;
width
:
200px
;
height
:
100px
;
border-radius
:
5px
;
background-color
:
#fafafa
;
outline
:
none
;
position
:
absolute
;
right
:
50px
;
top
:
150px
;
}
}
}
}
}
...
@@ -68,12 +84,15 @@ input{
...
@@ -68,12 +84,15 @@ input{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
margin-top
:
20px
;
justify-content
:
center
;
.load_values_item
{
.load_values_item
{
border-radius
:
10px
;
border-radius
:
10px
;
width
:
24%
;
width
:
24%
;
min-width
:
300px
;
padding
:
30px
;
padding
:
30px
;
margin
:
0
0
.5%
;
margin
:
0
0
.5%
;
margin-bottom
:
20px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
position
:
relative
;
position
:
relative
;
box-shadow
:
5px
5px
20px
#9DC3F1
;
box-shadow
:
5px
5px
20px
#9DC3F1
;
...
...
src/app/play/play.component.scss
View file @
e94703df
...
@@ -12,6 +12,10 @@
...
@@ -12,6 +12,10 @@
}
}
@font-face
{
font-family
:
'MMTextBook-Bold'
;
src
:
url("../../assets/font/MMTextBook-Bold.otf")
;
}
@font-face
@font-face
{
{
...
@@ -19,3 +23,8 @@
...
@@ -19,3 +23,8 @@
src
:
url("../../assets/font/BRLNSDB.TTF")
;
src
:
url("../../assets/font/BRLNSDB.TTF")
;
}
}
@font-face
{
font-family
:
'FUTURAB'
;
src
:
url("../../assets/font/FUTURAB.TTF")
;
}
\ No newline at end of file
src/app/play/play.component.ts
View file @
e94703df
...
@@ -12,7 +12,7 @@ import {
...
@@ -12,7 +12,7 @@ import {
}
from
'
./Unit
'
;
}
from
'
./Unit
'
;
import
{
res
,
resAudio
}
from
'
./resources
'
;
import
{
res
,
resAudio
}
from
'
./resources
'
;
import
{
Subject
}
from
'
rxjs
'
;
import
{
Subject
,
of
}
from
'
rxjs
'
;
import
{
debounceTime
}
from
'
rxjs/operators
'
;
import
{
debounceTime
}
from
'
rxjs/operators
'
;
import
*
as
_
from
'
lodash
'
;
import
*
as
_
from
'
lodash
'
;
...
@@ -25,6 +25,7 @@ import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
...
@@ -25,6 +25,7 @@ import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
selector
:
'
app-play
'
,
selector
:
'
app-play
'
,
templateUrl
:
'
./play.component.html
'
,
templateUrl
:
'
./play.component.html
'
,
styleUrls
:
[
'
./play.component.scss
'
]
styleUrls
:
[
'
./play.component.scss
'
]
})
})
export
class
PlayComponent
implements
OnInit
,
OnDestroy
{
export
class
PlayComponent
implements
OnInit
,
OnDestroy
{
// 数据
// 数据
...
@@ -49,6 +50,8 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -49,6 +50,8 @@ export class PlayComponent implements OnInit, OnDestroy {
mx
;
mx
;
my
;
my
;
init_bool
=
true
;
values_bool
=
[
0
,
0
,
0
,
0
];
values_bool
=
[
0
,
0
,
0
,
0
];
//按钮
//按钮
...
@@ -60,6 +63,8 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -60,6 +63,8 @@ export class PlayComponent implements OnInit, OnDestroy {
play_button
;
play_button
;
label_title_top_bg
;
label_title_top_bg
;
audio_bool
=
false
;
@
ViewChild
(
'
canvas
'
)
canvas
:
ElementRef
;
@
ViewChild
(
'
canvas
'
)
canvas
:
ElementRef
;
@
ViewChild
(
'
wrap
'
)
wrap
:
ElementRef
;
@
ViewChild
(
'
wrap
'
)
wrap
:
ElementRef
;
canvasWidth
=
1280
;
canvasWidth
=
1280
;
...
@@ -99,6 +104,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -99,6 +104,7 @@ export class PlayComponent implements OnInit, OnDestroy {
}
}
initListener
()
{
initListener
()
{
this
.
renderAfterResize
();
this
.
winResizeEventStream
this
.
winResizeEventStream
.
pipe
(
debounceTime
(
500
))
.
pipe
(
debounceTime
(
500
))
...
@@ -211,7 +217,6 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -211,7 +217,6 @@ export class PlayComponent implements OnInit, OnDestroy {
}
}
initDefaultData
()
{
initDefaultData
()
{
console
.
log
(
this
.
data
);
if
(
!
this
.
data
.
contentObj
)
{
if
(
!
this
.
data
.
contentObj
)
{
this
.
data
.
contentObj
=
{};
this
.
data
.
contentObj
=
{};
...
@@ -395,7 +400,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -395,7 +400,7 @@ export class PlayComponent implements OnInit, OnDestroy {
const
getData
=
(
<
any
>
window
).
courseware
.
getData
;
const
getData
=
(
<
any
>
window
).
courseware
.
getData
;
getData
((
data
)
=>
{
getData
((
data
)
=>
{
if
(
data
&&
typeof
data
==
'
object
'
)
{
if
(
data
&&
typeof
data
==
'
object
'
)
{
this
.
data
=
data
;
this
.
data
=
data
;
}
else
{
}
else
{
...
@@ -407,6 +412,9 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -407,6 +412,9 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
load_date
();
this
.
load_date
();
this
.
initAudio
();
this
.
initAudio
();
this
.
initListener
();
this
.
initListener
();
// this.initView();
},
this
.
KEY
);
},
this
.
KEY
);
}
}
...
@@ -470,9 +478,24 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -470,9 +478,24 @@ export class PlayComponent implements OnInit, OnDestroy {
}
}
playAudio
(
key
,
now
=
false
,
callback
=
null
)
{
playAudio_init
(){
for
(
let
i
=
0
;
i
<
this
.
data
.
contentObj
.
values
.
length
;
i
++
){
if
(
this
.
data
.
contentObj
.
values
[
i
].
audio_url
){
let
audio
=
this
.
audioObj
[
this
.
data
.
contentObj
.
values
[
i
].
audio_url
];
audio
.
pause
();
audio
.
currentTime
=
0
;
}
}
if
(
this
.
data
.
contentObj
.
title
.
audio_url
)
{
let
audio
=
this
.
audioObj
[
this
.
data
.
contentObj
.
title
.
audio_url
];
audio
.
pause
();
audio
.
currentTime
=
0
;
}
}
playAudio
(
key
,
now
=
false
,
callback
=
null
)
{
this
.
playAudio_init
();
const
audio
=
this
.
audioObj
[
key
];
const
audio
=
this
.
audioObj
[
key
];
if
(
audio
)
{
if
(
audio
)
{
if
(
now
)
{
if
(
now
)
{
...
@@ -486,18 +509,20 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -486,18 +509,20 @@ export class PlayComponent implements OnInit, OnDestroy {
};
};
}
}
audio
.
play
();
audio
.
play
();
}
}
console
.
log
(
this
.
audioObj
);
}
}
playAudio_ps
(
bool
,
key
){
playAudio_ps
(
bool
,
key
){
const
audio
=
this
.
audioObj
[
key
];
const
audio
=
this
.
audioObj
[
key
];
if
(
!
bool
){
if
(
!
bool
){
audio
.
currentTime
=
this
.
currentTime
;
audio
.
currentTime
=
this
.
currentTime
;
this
.
play_button
.
init
(
this
.
images
.
get
(
'
stop
'
));
this
.
play_button
.
init
(
this
.
images
.
get
(
'
stop
'
));
audio
.
play
();
audio
.
play
();
this
.
play_button_bool
=
!
bool
;
this
.
play_button_bool
=
!
bool
;
}
}
else
{
else
{
audio
.
pause
();
audio
.
pause
();
...
@@ -521,7 +546,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -521,7 +546,7 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
initView
();
this
.
initView
();
window
[
"
air
"
].
hideAirClassLoading
(
"
hw_0
06
"
,
this
.
data
);
window
[
"
air
"
].
hideAirClassLoading
(
"
hw_0
24
"
,
this
.
data
);
}
}
...
@@ -531,8 +556,9 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -531,8 +556,9 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
canvas
.
nativeElement
.
width
=
this
.
canvasWidth
;
this
.
canvas
.
nativeElement
.
width
=
this
.
canvasWidth
;
this
.
canvas
.
nativeElement
.
height
=
this
.
canvasHeight
;
this
.
canvas
.
nativeElement
.
height
=
this
.
canvasHeight
;
window
[
'
curCtx
'
]
=
this
.
ctx
;
this
.
ctx
.
font
=
"
64px MMTextBook-Bold
"
;
this
.
ctx
.
font
=
"
64px MMTextBook-Bold
"
;
window
[
'
curCtx
'
]
=
this
.
ctx
;
}
}
addBlanks
(
item
,
text_value
,
as_v
){
addBlanks
(
item
,
text_value
,
as_v
){
...
@@ -565,6 +591,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -565,6 +591,7 @@ export class PlayComponent implements OnInit, OnDestroy {
Answer
.
text
=
""
;
Answer
.
text
=
""
;
Answer
.
fontColor
=
"
#
"
+
this
.
data
.
contentObj
.
values
[
index
].
answer_color
;
Answer
.
fontColor
=
"
#
"
+
this
.
data
.
contentObj
.
values
[
index
].
answer_color
;
Answer
.
textAlign
=
'
center
'
;
Answer
.
textAlign
=
'
center
'
;
Answer
.
fontName
=
"
MMTextBook-Bold
"
Answer
.
fontSize
=
item
.
fontSize
;
Answer
.
fontSize
=
item
.
fontSize
;
Answer
.
width
=
this
.
ctx
.
measureText
(
Answer
.
text
).
width
;
Answer
.
width
=
this
.
ctx
.
measureText
(
Answer
.
text
).
width
;
Answer
.
x
=
this
.
ctx
.
measureText
(
item
.
text
).
width
;
Answer
.
x
=
this
.
ctx
.
measureText
(
item
.
text
).
width
;
...
@@ -576,7 +603,6 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -576,7 +603,6 @@ export class PlayComponent implements OnInit, OnDestroy {
addNumber
(
item
,
Arr
,
nu
){
addNumber
(
item
,
Arr
,
nu
){
const
Number
=
new
Label
();
const
Number
=
new
Label
();
Number
.
fontName
=
"
MMTextBook-Bold
"
;
Number
.
fontName
=
"
MMTextBook-Bold
"
;
console
.
log
(
item
);
if
(
Arr
[
nu
].
number
==
"
true
"
){
if
(
Arr
[
nu
].
number
==
"
true
"
){
...
@@ -598,6 +624,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -598,6 +624,7 @@ export class PlayComponent implements OnInit, OnDestroy {
}
}
initView
(){
initView
(){
let
Bgx
=
document
.
body
.
clientWidth
/
this
.
bgWidth
;
let
Bgx
=
document
.
body
.
clientWidth
/
this
.
bgWidth
;
let
Bgy
=
document
.
body
.
clientHeight
/
this
.
bgHeight
;
let
Bgy
=
document
.
body
.
clientHeight
/
this
.
bgHeight
;
// let Bgy = document.body.clientWidth /this.bgHeight;
// let Bgy = document.body.clientWidth /this.bgHeight;
...
@@ -607,8 +634,19 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -607,8 +634,19 @@ export class PlayComponent implements OnInit, OnDestroy {
bg_img
.
width
=
0
;
bg_img
.
width
=
0
;
bg_img
.
height
=
200
;
bg_img
.
height
=
200
;
bg_img
.
setScaleXY
(
1
);
bg_img
.
setScaleXY
(
1
);
const
sx
=
this
.
canvasWidth
/
this
.
canvasBaseW
;
// const bgRect = new ShapeRect();
// bgRect.setSize(57, 65);
// bgRect.fillColor = '#f8c224';
// bgRect.setScaleXY(sx);
// bgRect.x = 65 * sx;
// this.renderArr.push(bgRect);
const
play_button
=
new
MySprite
();
const
play_button
=
new
MySprite
();
if
(
this
.
play_button_bool
)
play_button
.
init
(
this
.
images
.
get
(
'
stop
'
));
else
play_button
.
init
(
this
.
images
.
get
(
'
play
'
));
play_button
.
init
(
this
.
images
.
get
(
'
play
'
));
play_button
.
setScaleXY
(
Math
.
max
(
Math
.
min
(
Bgx
,
Bgy
)
*
0.8
,
0.2
));
play_button
.
setScaleXY
(
Math
.
max
(
Math
.
min
(
Bgx
,
Bgy
)
*
0.8
,
0.2
));
...
@@ -622,35 +660,39 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -622,35 +660,39 @@ export class PlayComponent implements OnInit, OnDestroy {
const
label_title_top_bg
=
new
MySprite
();
const
label_title_top_bg
=
new
MySprite
();
label_title_top_bg
.
init
(
this
.
images
.
get
(
'
title_bg
'
));
label_title_top_bg
.
init
(
this
.
images
.
get
(
'
title_bg
'
));
label_title_top_bg
.
setScaleXY
(
Bgx
*
0.4
);
label_title_top_bg
.
setScaleXY
(
Bgx
*
0.5
);
const
sx
=
this
.
canvasWidth
/
this
.
canvasBaseW
;
label_title_top_bg
.
x
=
65
*
sx
+
35
*
(
document
.
body
.
clientWidth
/
1600
);
label_title_top_bg
.
x
=
65
*
sx
+
105
*
(
document
.
body
.
clientWidth
/
1600
);
label_title_top_bg
.
y
=
Bgx
*
32
;
label_title_top_bg
.
y
=
Bgx
*
26
;
const
label_title_top
=
new
Label
();
const
label_title_top
=
new
Label
();
label_title_top
.
text
=
this
.
data
.
contentObj
.
title
.
number
.
toUpperCase
();
label_title_top
.
text
=
this
.
data
.
contentObj
.
title
.
number
.
toUpperCase
();
label_title_top
.
fontName
=
'
BRLNSDB
'
;
label_title_top
.
setScaleXY
(
1
);
label_title_top
.
setScaleXY
(
1
);
label_title_top
.
fontSize
=
110
;
label_title_top
.
fontSize
=
110
;
label_title_top
.
y
=
0
;
label_title_top
.
y
=
0
;
label_title_top
.
fontColor
=
'
#FFDB84
'
;
label_title_top
.
fontColor
=
'
#FFDB84
'
;
label_title_top
.
textAlign
=
'
center
'
;
label_title_top
.
textAlign
=
'
center
'
;
label_title_top
.
fontName
=
'
BRLNSDB
'
;
label_title_top_bg
.
addChild
(
label_title_top
);
label_title_top_bg
.
addChild
(
label_title_top
);
const
label_title
=
new
Label
();
const
label_title
=
new
Label
();
label_title
.
text
=
this
.
data
.
contentObj
.
title
.
text
;
label_title
.
text
=
this
.
data
.
contentObj
.
title
.
text
;
label_title
.
fontName
=
'
BRLNSD
B
'
;
label_title
.
fontName
=
'
FUTURA
B
'
;
label_title
.
setMaxSize
(
1000
);
label_title
.
setMaxSize
(
1000
);
label_title
.
fontSize
=
Math
.
min
(
Bgx
*
50
,
55
);
label_title
.
fontSize
=
Math
.
min
(
Bgx
*
45
,
55
);
label_title
.
width
=
this
.
ctx
.
measureText
(
label_title
.
text
).
width
*
0.95
;
// label_title.x = label_title_top_bg.x - 800 + label_title_top_bg.width / 2 * Bgx + this.ctx.measureText(label_title.text).width * Bgx;
// label_title.x = label_title_top_bg.x - 800 + label_title_top_bg.width / 2 * Bgx + this.ctx.measureText(label_title.text).width * Bgx;
label_title
.
x
=
label_title_top_bg
.
x
+
label_title_top_bg
.
width
/
2
*
Bgx
+
this
.
ctx
.
measureText
(
label_title
.
text
).
width
*
label_title
.
fontSize
/
64
/
2
;
label_title
.
x
=
label_title_top_bg
.
x
+
label_title_top_bg
.
width
/
2
*
Bgx
+
this
.
ctx
.
measureText
(
label_title
.
text
).
width
*
label_title
.
fontSize
/
64
/
1.9
;
label_title
.
y
=
label_title_top_bg
.
y
;
label_title
.
y
=
label_title_top_bg
.
y
+
5
*
Bgx
;
label_title
.
fontColor
=
'
#000
'
;
label_title
.
fontColor
=
'
#000
'
;
label_title
.
fontWeight
=
300
;
label_title
.
textAlign
=
'
center
'
;
label_title
.
textAlign
=
'
center
'
;
bg_img
.
addChild
(
label_title_top_bg
);
bg_img
.
addChild
(
label_title_top_bg
);
this
.
label_title_top_bg
=
label_title_top_bg
;
this
.
label_title
=
label_title
;
this
.
label_title
=
label_title
;
...
@@ -681,6 +723,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -681,6 +723,7 @@ export class PlayComponent implements OnInit, OnDestroy {
items
.
fontName
=
'
MMTextBook-Bold
'
;
items
.
fontName
=
'
MMTextBook-Bold
'
;
items
.
fontSize
=
64
;
items
.
fontSize
=
64
;
items
.
text
=
""
;
items
.
text
=
""
;
items
.
fontWeight
=
300
;
c
=
true
;
c
=
true
;
for
(
let
j
=
0
;
j
<
Arr
[
i
].
word
.
length
;
j
++
){
for
(
let
j
=
0
;
j
<
Arr
[
i
].
word
.
length
;
j
++
){
if
(
j
!=
Arr
[
i
].
answer
[
as_v
])
if
(
j
!=
Arr
[
i
].
answer
[
as_v
])
...
@@ -696,7 +739,7 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -696,7 +739,7 @@ export class PlayComponent implements OnInit, OnDestroy {
this
.
addAnswer
(
items
,
as_v
,
i
,
this
.
values_bool
);
this
.
addAnswer
(
items
,
as_v
,
i
,
this
.
values_bool
);
as_v
++
;
as_v
++
;
}
}
items
.
text
+=
"
"
;
items
.
text
+=
"
"
;
}
}
items
.
text
+=
"
"
;
items
.
text
+=
"
"
;
}
}
...
@@ -721,7 +764,6 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -721,7 +764,6 @@ export class PlayComponent implements OnInit, OnDestroy {
const
img
=
new
MySprite
();
const
img
=
new
MySprite
();
img
.
init
(
this
.
images
.
get
(
Arr
[
i
].
img_url
));
img
.
init
(
this
.
images
.
get
(
Arr
[
i
].
img_url
));
console
.
log
(
img
.
height
);
img
.
setScaleXY
(
Math
.
min
(
300
/
img
.
width
,
140
/
img
.
height
)
*
Math
.
min
(
Math
.
max
(
Bgx
,
Bgy
)
*
0.6
,
0.7
));
img
.
setScaleXY
(
Math
.
min
(
300
/
img
.
width
,
140
/
img
.
height
)
*
Math
.
min
(
Math
.
max
(
Bgx
,
Bgy
)
*
0.6
,
0.7
));
img
.
x
=
this
.
ctx
.
measureText
(
items
.
text
).
width
+
100
;
img
.
x
=
this
.
ctx
.
measureText
(
items
.
text
).
width
+
100
;
...
@@ -732,7 +774,9 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -732,7 +774,9 @@ export class PlayComponent implements OnInit, OnDestroy {
optionRect
.
addChild
(
items
);
optionRect
.
addChild
(
items
);
this
.
index_item
++
;
this
.
index_item
++
;
}
}
}
}
onclick_img
(
index
){
onclick_img
(
index
){
...
@@ -751,15 +795,27 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -751,15 +795,27 @@ export class PlayComponent implements OnInit, OnDestroy {
mapDown
(
event
)
{
mapDown
(
event
)
{
if
(
this
.
checkClickTarget
(
this
.
label_title
)){
if
(
this
.
checkClickTarget
(
this
.
label_title
)
||
this
.
checkClickTarget
(
this
.
label_title_top_bg
)
){
this
.
playAudio
(
this
.
data
.
contentObj
.
title
.
audio_url
,
true
);
this
.
playAudio
(
this
.
data
.
contentObj
.
title
.
audio_url
,
true
);
return
;
return
;
}
}
if
(
this
.
checkClickTarget
(
this
.
play_button
)){
if
(
this
.
checkClickTarget
(
this
.
play_button
)){
this
.
playAudio_ps
(
this
.
play_button_bool
,
this
.
data
.
contentObj
.
audio_url
);
this
.
playAudio_ps
(
this
.
play_button_bool
,
this
.
data
.
contentObj
.
audio_url
);
}
if
(
this
.
data
.
contentObj
.
audio_url
)
{
let
_this
=
this
;
this
.
audioObj
[
this
.
data
.
contentObj
.
audio_url
].
addEventListener
(
'
ended
'
,
function
()
{
_this
.
play_button
.
init
(
_this
.
images
.
get
(
'
play
'
));
_this
.
play_button_bool
=
false
;
_this
.
currentTime
=
0
;
},
false
);
}
}
for
(
let
i
=
0
;
i
<
this
.
data
.
contentObj
.
values
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
this
.
data
.
contentObj
.
values
.
length
;
i
++
){
if
(
this
.
checkClickTarget
(
this
.
img_button
[
i
])){
if
(
this
.
checkClickTarget
(
this
.
img_button
[
i
])){
...
@@ -776,11 +832,6 @@ export class PlayComponent implements OnInit, OnDestroy {
...
@@ -776,11 +832,6 @@ export class PlayComponent implements OnInit, OnDestroy {
if
(
this
.
checkClickTarget
(
this
.
items_Text
[
i
][
j
])){
if
(
this
.
checkClickTarget
(
this
.
items_Text
[
i
][
j
])){
this
.
onclick_items_text
(
this
.
item
[
i
],
i
);
this
.
onclick_items_text
(
this
.
item
[
i
],
i
);
this
.
values_bool
[
i
]
=
1
;
this
.
values_bool
[
i
]
=
1
;
console
.
log
(
this
.
values_bool
);
if
(
this
.
data
.
contentObj
.
values
[
i
].
audio_url
)
this
.
playAudio
(
this
.
data
.
contentObj
.
values
[
i
].
audio_url
,
true
);
else
this
.
playAudio
(
'
assets/play/default/click.mp3
'
,
true
);
// this.onclick_items_text(this.items_Text);
// this.onclick_items_text(this.items_Text);
...
...
src/assets/font/BRLNSDB_1.TTF
deleted
100755 → 0
View file @
a0067027
File deleted
src/assets/font/Futura-Bold-BT.ttf
0 → 100644
View file @
e94703df
File added
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment