Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
DG_FAF
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
DG_FAF
Commits
cba2428d
Commit
cba2428d
authored
Jul 11, 2023
by
李维
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加纵横字谜游戏历史记录展示
parent
15844363
Changes
3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1027 additions
and
418 deletions
+1027
-418
DG_FAF.ts
assets/DG_FAF/scene/DG_FAF.ts
+94
-2
defaultData_DG_FAF.ts
assets/DG_FAF/script/defaultData_DG_FAF.ts
+1
-1
historyData_DG_FAF.ts
assets/DG_FAF/script/historyData_DG_FAF.ts
+932
-415
No files found.
assets/DG_FAF/scene/DG_FAF.ts
View file @
cba2428d
...
@@ -761,7 +761,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
...
@@ -761,7 +761,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
validater
=
this
.
setTextInput
(
configItem
,
this
.
data
.
hotZoneItemArr
[
configItem
.
linkHotZoneIndex
],
isDebug
);
validater
=
this
.
setTextInput
(
configItem
,
this
.
data
.
hotZoneItemArr
[
configItem
.
linkHotZoneIndex
],
isDebug
);
this
.
scoreValidater
.
push
(
validater
);
this
.
scoreValidater
.
push
(
validater
);
break
;
break
;
// 纵横字谜游戏
// 纵横字谜游戏
[做题 - 显示]
case
CROSSWORD_PUZZLE
:
case
CROSSWORD_PUZZLE
:
validater
=
this
.
setCrosswordPuzzleInput
(
configItem
,
isDebug
);
validater
=
this
.
setCrosswordPuzzleInput
(
configItem
,
isDebug
);
this
.
scoreValidater
.
push
(
validater
);
this
.
scoreValidater
.
push
(
validater
);
...
@@ -859,6 +859,10 @@ export default class SceneComponent extends MyCocosSceneComponent {
...
@@ -859,6 +859,10 @@ export default class SceneComponent extends MyCocosSceneComponent {
case
TEXTINPUT
:
case
TEXTINPUT
:
this
.
showTextInput
(
configItem
,
resultData
);
this
.
showTextInput
(
configItem
,
resultData
);
break
;
break
;
// 纵横字谜游戏
case
CROSSWORD_PUZZLE
:
this
.
showCrosswordPuzzleInput
(
configItem
,
resultData
);
break
;
}
}
})
})
...
@@ -1283,6 +1287,94 @@ export default class SceneComponent extends MyCocosSceneComponent {
...
@@ -1283,6 +1287,94 @@ export default class SceneComponent extends MyCocosSceneComponent {
}
}
}
}
// 纵横字谜 - 历史记录
showCrosswordPuzzleInput
(
configItem
,
resultData
)
{
const
debugMode
=
false
;
const
lineLetters
=
[];
const
allCrosswordData
=
[];
// 该题型需要配置一个显示正确错误符号的热区
const
resultIconShowData
=
this
.
data
.
hotZoneItemArr
[
configItem
.
linkResultShowHotZoneIndex
];
const
resultIconRect
=
this
.
newRectNode
(
resultIconShowData
,
layer_2
,
debugMode
);
// 初始化回显区域 - 可不配置
let
endShowNode
=
null
;
let
endShowText
=
null
if
(
configItem
.
linkHotZoneShowIndex
!=
null
&&
!
isNaN
(
Number
(
configItem
.
linkHotZoneShowIndex
))
&&
Number
(
configItem
.
linkHotZoneShowIndex
)
>=
0
)
{
const
endShowHotZoneData
=
this
.
data
.
hotZoneItemArr
[
configItem
.
linkHotZoneShowIndex
];
endShowNode
=
this
.
newRectNode
(
endShowHotZoneData
,
layer_4
,
debugMode
);
endShowText
=
this
.
newTextNode
(
""
);
endShowText
.
x
=
endShowNode
.
width
/
2
;
endShowText
.
y
=
endShowNode
.
height
/
2
;
endShowNode
.
addChild
(
endShowText
);
}
configItem
.
contentList
.
forEach
((
option
,
index
)
=>
{
if
(
allCrosswordData
[
option
.
selectHotZoneIndex
+
""
]
==
undefined
)
{
allCrosswordData
[
option
.
selectHotZoneIndex
+
""
]
=
{
inited
:
false
,
rect
:
null
,
border
:
null
,
currentLetter
:
""
,
correctLetter
:
""
,
}
}
const
letterData
=
allCrosswordData
[
option
.
selectHotZoneIndex
+
""
];
lineLetters
.
push
(
letterData
);
// 如果数据没有被初始化过 则初始化各种实例
if
(
!
letterData
.
inited
)
{
letterData
.
inited
=
true
;
// 存储正确的字符 用于提交时比对
letterData
.
correctLetter
=
option
.
letter
;
const
hotZoneData
=
this
.
data
.
hotZoneItemArr
[
option
.
selectHotZoneIndex
];
letterData
.
rect
=
this
.
newRectNode
(
hotZoneData
,
layer_4
,
debugMode
);
letterData
.
decorativeFrame
=
this
.
newDecorativeFrame
(
hotZoneData
,
layer_1
,
"
#FFFFFF
"
,
"
#6dbef6
"
,
debugMode
);
letterData
.
textNode
=
this
.
newTextNode
(
""
);
letterData
.
textNode
.
x
=
letterData
.
rect
.
width
/
2
;
letterData
.
textNode
.
y
=
letterData
.
rect
.
height
/
2
;
letterData
.
rect
.
addChild
(
letterData
.
textNode
);
letterData
.
decorativeFrame
.
active
=
false
;
}
})
let
currentWord
=
""
;
const
inputText
=
resultData
[
0
].
inputWord
;
if
(
inputText
)
{
// 把用户输入的内容填入格子
lineLetters
.
forEach
((
letter
,
index
)
=>
{
letter
.
currentLetter
=
inputText
.
charAt
(
index
);
letter
.
decorativeFrame
.
active
=
true
;
letter
.
textNode
.
getComponent
(
cc
.
Label
).
string
=
letter
.
currentLetter
==
"
^
"
?
""
:
letter
.
currentLetter
;
})
}
else
{
// 把用户输入的内容填入格子
lineLetters
.
forEach
((
letter
,
index
)
=>
{
letter
.
currentLetter
=
""
;
letter
.
decorativeFrame
.
active
=
false
;
letter
.
textNode
.
getComponent
(
cc
.
Label
).
string
=
""
;
})
}
// 如果设置了回显区域,设置回显字符
if
(
endShowText
!=
null
)
{
endShowText
.
getComponent
(
cc
.
Label
).
string
=
inputText
.
replace
(
/
\^
/g
,
"
"
);
}
// 对错号
const
errIcon
=
getSprNode
(
"
icon_answer_wrong
"
);
const
rightIcon
=
getSprNode
(
"
icon_answer_right
"
);
// 图标太大 缩小一半
errIcon
.
scale
=
rightIcon
.
scale
=
0.5
;
// 显示在热区的中间
errIcon
.
x
=
rightIcon
.
x
=
resultIconRect
.
width
/
2
;
errIcon
.
y
=
rightIcon
.
y
=
resultIconRect
.
height
/
2
;
if
(
resultData
[
0
].
right
)
{
resultIconRect
.
addChild
(
rightIcon
);
}
else
{
resultIconRect
.
addChild
(
errIcon
);
}
}
// 初始化分数牌
// 初始化分数牌
subScorePanels
=
[];
subScorePanels
=
[];
totalScorePanel
=
null
;
totalScorePanel
=
null
;
...
@@ -3119,7 +3211,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
...
@@ -3119,7 +3211,7 @@ export default class SceneComponent extends MyCocosSceneComponent {
result
.
detail
.
inputWord
=
""
;
result
.
detail
.
inputWord
=
""
;
lineLetters
.
forEach
((
letter
,
index
)
=>
{
lineLetters
.
forEach
((
letter
,
index
)
=>
{
result
.
detail
.
correctWord
+=
letter
.
correctLetter
;
result
.
detail
.
correctWord
+=
letter
.
correctLetter
;
result
.
detail
.
inputWord
+=
letter
.
currentLetter
;
result
.
detail
.
inputWord
+=
letter
.
currentLetter
?
letter
.
currentLetter
:
"
^
"
;
if
(
letter
.
currentLetter
!=
letter
.
correctLetter
)
{
if
(
letter
.
currentLetter
!=
letter
.
correctLetter
)
{
result
.
allRight
=
false
;
result
.
allRight
=
false
;
result
.
detail
.
right
=
false
;
result
.
detail
.
right
=
false
;
...
...
assets/DG_FAF/script/defaultData_DG_FAF.ts
View file @
cba2428d
This diff is collapsed.
Click to expand it.
assets/DG_FAF/script/historyData_DG_FAF.ts
View file @
cba2428d
This diff is collapsed.
Click to expand it.
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