Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sn19_read
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
sn19_read
Commits
3b8bf5a6
Commit
3b8bf5a6
authored
Nov 17, 2023
by
Tt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
背景适配
parent
b3a9e6f0
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
330 additions
and
45 deletions
+330
-45
ResizeAuto_sn19_read.ts
assets/sn19_read/scene/ResizeAuto_sn19_read.ts
+145
-0
ResizeAuto_sn19_read.ts.meta
assets/sn19_read/scene/ResizeAuto_sn19_read.ts.meta
+9
-0
pg_sn19_read.ts
assets/sn19_read/scene/pg_sn19_read.ts
+61
-0
sn19_read.fire
assets/sn19_read/scene/sn19_read.fire
+12
-19
sn19_read.ts
assets/sn19_read/scene/sn19_read.ts
+98
-25
defaultData_sn19_read.ts
assets/sn19_read/script/defaultData_sn19_read.ts
+5
-1
No files found.
assets/sn19_read/scene/ResizeAuto_sn19_read.ts
0 → 100644
View file @
3b8bf5a6
// Learn TypeScript:
// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
import
pg
from
"
./pg_sn19_read
"
;
const
{
ccclass
,
property
}
=
cc
.
_decorator
;
@
ccclass
export
default
class
ResizeAuto
extends
cc
.
Component
{
@
property
r_width
:
number
=
1
@
property
r_height
:
number
=
1
@
property
r_top
:
number
=
0
@
property
r_bottom
:
number
=
0
@
property
p_left
:
number
=
0
@
property
p_right
:
number
=
0
@
property
p_top
:
number
=
0
@
property
p_bottom
:
number
=
0
@
property
noHead
:
number
=
0
@
property
debug
:
number
=
0
// LIFE-CYCLE CALLBACKS:
private
resizeScaleX
;
private
resizeScaleY
;
private
posX
;
private
posY
;
private
nodeWidth
;
private
nodeHeight
;
private
nodeX
;
private
nodeY
;
onLoad
()
{
let
{
scaleX
,
posX
,
scaleY
,
posY
}
=
pg
.
screen
.
winBlackArea
();
this
.
resizeScaleX
=
scaleX
;
this
.
resizeScaleY
=
scaleY
;
this
.
posX
=
posX
;
this
.
posY
=
posY
;
let
{
width
,
height
,
x
,
y
}
=
this
.
node
;
this
.
nodeWidth
=
width
;
this
.
nodeHeight
=
height
;
this
.
nodeX
=
x
;
this
.
nodeY
=
y
;
}
start
()
{
this
.
resize
();
}
onDestroy
()
{
}
resize
()
{
if
(
!
this
.
resizeScaleX
&&
!
this
.
nodeWidth
)
{
console
.
warn
(
"
手动调用此方法时,不能再onLoad中使用
"
);
return
;
}
this
.
resizeHeight
();
this
.
resizeWidth
();
}
//高屏幕适配
resizeHeight
()
{
if
(
this
.
resizeScaleY
<=
1.05
)
return
;
let
scaleY
=
this
.
resizeScaleY
;
let
posY
=
this
.
posY
;
let
nodeWidth
=
this
.
nodeWidth
;
let
nodeHeight
=
this
.
nodeHeight
;
let
nodeX
=
this
.
nodeX
;
let
nodeY
=
this
.
nodeY
;
if
(
this
.
debug
==
1
)
{
pg
.
logger
.
d
(
"
断点调试点
"
);
}
//宽度拉伸
if
(
this
.
r_width
==
1
)
{
this
.
node
.
width
=
nodeWidth
*
scaleY
;
}
//高度拉升
if
(
this
.
r_height
==
1
)
{
this
.
node
.
height
=
nodeHeight
*
scaleY
;
}
//动态上移
if
(
this
.
p_top
>
0
)
{
if
(
this
.
p_top
==
1
)
this
.
p_top
=
0.5
;
this
.
node
.
y
=
nodeY
+
posY
/
2
*
this
.
p_top
}
//动态下移
if
(
this
.
p_bottom
>
0
)
{
if
(
this
.
p_bottom
==
1
)
this
.
p_bottom
=
0.5
;
this
.
node
.
y
=
nodeY
-
posY
/
2
*
this
.
p_bottom
}
}
//长屏幕适配
resizeWidth
()
{
if
(
this
.
resizeScaleX
<=
1.05
)
return
;
let
resizeScaleX
=
this
.
resizeScaleX
;
let
posX
=
this
.
posX
;
let
nodeWidth
=
this
.
nodeWidth
;
let
nodeHeight
=
this
.
nodeHeight
;
let
nodeX
=
this
.
nodeX
;
let
nodeY
=
this
.
nodeY
;
if
(
this
.
debug
==
1
)
{
pg
.
logger
.
d
(
"
断点调试点
"
);
}
//宽度拉伸
if
(
this
.
r_width
==
1
)
{
this
.
node
.
width
=
nodeWidth
*
resizeScaleX
;
}
//高度拉升
if
(
this
.
r_height
==
1
)
{
this
.
node
.
height
=
nodeHeight
*
resizeScaleX
;
//高度拉伸后,图片顶部齐边【坐标下移】 y坐标下移
if
(
this
.
r_top
==
1
)
{
this
.
node
.
y
=
nodeY
-
nodeHeight
*
(
resizeScaleX
-
1
)
/
2
;
}
//高度拉伸后,图片底部齐边【坐标上移】 y坐标上移
if
(
this
.
r_bottom
==
1
)
{
this
.
node
.
y
=
nodeY
+
nodeHeight
*
(
resizeScaleX
-
1
)
/
2
;
}
}
//如果是刘海屏,减去对应的刘海屏的宽度
let
lhpSize
=
{
top
:
0
,
bottom
:
0
};
if
(
!
this
.
noHead
&&
posX
!=
0
)
lhpSize
=
{
top
:
44
*
1.5
,
bottom
:
34
*
1.5
};
//动态左移
if
(
this
.
p_left
==
1
)
{
this
.
node
.
x
=
nodeX
-
posX
/
2
+
lhpSize
.
top
;
}
//动态右移
if
(
this
.
p_right
==
1
)
{
this
.
node
.
x
=
nodeX
+
posX
/
2
-
lhpSize
.
bottom
;
}
}
}
assets/sn19_read/scene/ResizeAuto_sn19_read.ts.meta
0 → 100644
View file @
3b8bf5a6
{
"ver": "1.0.8",
"uuid": "79098fb5-a7de-4cc7-a32f-58ca68556b2b",
"isPlugin": false,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
"subMetas": {}
}
\ No newline at end of file
assets/sn19_read/scene/pg_sn19_read.ts
View file @
3b8bf5a6
interface
BlackArea
{
scaleX
:
number
;
scaleY
:
number
;
posX
:
number
;
posY
:
number
;
moveX
:
number
;
moveY
:
number
;
}
class
Screen
{
static
instance
;
static
getIns
():
Screen
{
if
(
!
Screen
.
instance
)
{
Screen
.
instance
=
new
Screen
();
}
return
Screen
.
instance
;
}
winSize
():
cc
.
Size
{
return
cc
.
view
.
getCanvasSize
();
}
designSize
():
cc
.
Size
{
return
cc
.
view
.
getDesignResolutionSize
();
}
winBlackArea
():
BlackArea
{
//0.设计尺寸
let
baseSize
=
cc
.
size
(
this
.
designSize
().
width
,
this
.
designSize
().
height
);
//1.获取屏幕尺寸
// let canvasSize = cc.sys.getSafeAreaRect();
let
canvasSize
=
cc
.
view
.
getCanvasSize
();
//2.将屏幕宽高 以高度对齐的方式 换算出场景 宽度
let
sumSizeW
=
cc
.
size
(
canvasSize
.
width
*
baseSize
.
height
/
canvasSize
.
height
,
baseSize
.
height
)
//3.计算场景宽度与设计宽度比率
let
scaleX
=
sumSizeW
.
width
/
baseSize
.
width
;
//高屏幕适配
if
(
scaleX
<=
1
)
{
let
sumSizeY
=
cc
.
size
(
baseSize
.
width
,
canvasSize
.
height
*
(
baseSize
.
width
/
canvasSize
.
width
))
let
scaleY
=
sumSizeY
.
height
/
baseSize
.
height
;
let
posY
=
sumSizeY
.
height
-
baseSize
.
height
;
return
{
scaleX
:
1
,
posX
:
0
,
moveX
:
0
,
scaleY
:
scaleY
,
posY
:
posY
,
moveY
:
-
posY
/
2
}
}
else
{
let
posX
=
sumSizeW
.
width
-
baseSize
.
width
;
//需要拓展的宽度缩放比
return
{
scaleX
:
scaleX
,
posX
:
posX
,
moveX
:
-
posX
/
2
,
scaleY
:
1
,
posY
:
0
,
moveY
:
0
};
}
}
}
class
Emitter
{
static
instance
;
static
getInstance
()
{
...
...
@@ -718,6 +778,7 @@ let pg = {
return
event
;
}
},
screen
:
Screen
.
getIns
(),
event
:
Emitter
.
getInstance
()
};
export
default
pg
;
...
...
assets/sn19_read/scene/sn19_read.fire
View file @
3b8bf5a6
...
...
@@ -427,31 +427,24 @@
"_id": "584qeG0k9IfrhLzNSAoSOF"
},
{
"__type__": "
cc.Widget
",
"__type__": "
79098+1p95Mx6MvWMpoVWsr
",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 6
},
"_enabled": true,
"alignMode": 1,
"_target": null,
"_alignFlags": 45,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_verticalCenter": 0,
"_horizontalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 1920,
"_originalHeight": 1080,
"_id": "d8xDZnDTJJ3b870mrQFPdh"
"r_width": 1,
"r_height": 1,
"r_top": 1,
"r_bottom": 1,
"p_left": 0,
"p_right": 0,
"p_top": 0,
"p_bottom": 0,
"noHead": 0,
"debug": 0,
"_id": "15sIfrQ8pIgJUH+TnoiRem"
},
{
"__type__": "cc.Node",
...
...
assets/sn19_read/scene/sn19_read.ts
View file @
3b8bf5a6
This diff is collapsed.
Click to expand it.
assets/sn19_read/script/defaultData_sn19_read.ts
View file @
3b8bf5a6
...
...
@@ -28,7 +28,11 @@ export const defaultData =
npcAudio
:
"
http://staging-teach.cdn.ireadabc.com/7f617b30a5eb2a090234920500f9c7ce_l.mp3
"
,
npcAudioName
:
"
right_sn17_danci.mp3
"
},
{
"
type
"
:
"
img_txt_audio
"
,
"
imageBig
"
:
1
,
"
image
"
:
"
http://staging-teach.cdn.ireadabc.com/ef1e6f871b37ad482e268809e91d20b7.png
"
,
"
audio
"
:
"
http://staging-teach.cdn.ireadabc.com/5f4e4c72671607bb35d1ecd1d291f238_l.mp3
"
,
"
text
"
:
""
,
"
duration
"
:
10
,
"
content
"
:
""
,
"
right
"
:
false
,
"
audioName
"
:
"
excellent_dg10_ty.mp3
"
"
type
"
:
"
img_txt_audio
"
,
"
imageBig
"
:
1
,
"
image
"
:
"
http://staging-teach.cdn.ireadabc.com/ef1e6f871b37ad482e268809e91d20b7.png
"
,
"
audio
"
:
"
http://staging-teach.cdn.ireadabc.com/5f4e4c72671607bb35d1ecd1d291f238_l.mp3
"
,
"
text
"
:
""
,
"
duration
"
:
10
,
"
content
"
:
""
,
"
right
"
:
false
,
"
audioName
"
:
"
excellent_dg10_ty.mp3
"
}]
}],
"
bgAudio
"
:
""
,
"
bgAudioName
"
:
""
,
"
audioName
"
:
""
,
"
npcTitle
"
:
"
test
"
,
...
...
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