Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile-Cn-Ko-En
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fallenstardust
YGOMobile-Cn-Ko-En
Commits
66a1d319
Commit
66a1d319
authored
Oct 05, 2019
by
kenan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changeGameSize
parent
0afb2d5b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
79 additions
and
46 deletions
+79
-46
Classes/gframe/game.cpp
Classes/gframe/game.cpp
+1
-1
libcore/src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
.../src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
+78
-45
No files found.
Classes/gframe/game.cpp
View file @
66a1d319
...
...
@@ -112,7 +112,7 @@ bool Game::Initialize() {
* yScale = android::getScreenHeight(app) / 640.0;
* }//start ygocore when mobile is in landscape mode, or using Android tablets or TV.*/
char
log_scale
[
256
]
=
{
0
};
sprintf
(
log_scale
,
"xScale = %f, yScale = %f
, xStart=%f, yStart=%f"
,
xScale
,
yScale
,
xStart
,
yStart
);
sprintf
(
log_scale
,
"xScale = %f, yScale = %f
"
,
xScale
,
yScale
);
Printer
::
log
(
log_scale
);
//io::path databaseDir = options->getDBDir();
io
::
path
workingDir
=
options
->
getWorkDir
();
...
...
libcore/src/main/java/cn/garymb/ygomobile/YGOMobileActivity.java
View file @
66a1d319
...
...
@@ -19,6 +19,7 @@ import android.util.Log;
import
android.view.Gravity
;
import
android.view.HapticFeedbackConstants
;
import
android.view.KeyEvent
;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceView
;
import
android.view.View
;
import
android.widget.FrameLayout
;
...
...
@@ -80,8 +81,9 @@ public class YGOMobileActivity extends NativeActivity implements
private
Handler
handler
=
new
Handler
();
private
FullScreenUtils
mFullScreenUtils
;
private
volatile
int
mPositionX
,
mPositionY
;
private
boolean
mPaused
;
private
FrameLayout
mLayout
;
private
SurfaceView
mSurfaceView
;
private
boolean
replaced
=
false
;
// public static int notchHeight;
...
...
@@ -104,9 +106,6 @@ public class YGOMobileActivity extends NativeActivity implements
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
mSurfaceView
=
new
SurfaceView
(
this
);
mSurfaceView
.
getHolder
().
addCallback
(
this
);
app
().
attachGame
(
this
);
getGameSize
();
super
.
onCreate
(
savedInstanceState
);
Log
.
e
(
"YGOStarter"
,
"跳转完成"
+
System
.
currentTimeMillis
());
mFullScreenUtils
=
new
FullScreenUtils
(
this
,
app
().
isImmerSiveMode
());
...
...
@@ -133,7 +132,6 @@ public class YGOMobileActivity extends NativeActivity implements
@Override
protected
void
onResume
()
{
mPaused
=
false
;
super
.
onResume
();
Log
.
e
(
"YGOStarter"
,
"ygo显示"
+
System
.
currentTimeMillis
());
if
(
mLock
==
null
)
{
...
...
@@ -148,7 +146,6 @@ public class YGOMobileActivity extends NativeActivity implements
@Override
protected
void
onPause
()
{
mPaused
=
true
;
super
.
onPause
();
if
(
mLock
!=
null
)
{
if
(
mLock
.
isHeld
())
{
...
...
@@ -215,6 +212,16 @@ public class YGOMobileActivity extends NativeActivity implements
}
}
private
void
fullscreen
()
{
//如果是沉浸模式
if
(
app
().
isImmerSiveMode
())
{
mFullScreenUtils
.
fullscreen
();
app
().
attachGame
(
this
);
changeGameSize
();
}
}
private
int
[]
getGameSize
(){
//调整padding
float
screenW
=
app
().
getScreenWidth
();
...
...
@@ -233,22 +240,6 @@ public class YGOMobileActivity extends NativeActivity implements
}
int
w
=
(
int
)(
1024.0
*
xScale
);
int
h
=
(
int
)
(
640.0
*
yScale
);
int
spX
=
(
int
)
((
screenH
-
w
)
/
2.0f
);
int
spY
=
(
int
)
((
screenW
-
h
)
/
2.0f
);
Log
.
i
(
"ygo"
,
"Android command setInputFix1:posX="
+
spX
+
",posY="
+
spY
);
boolean
update
=
false
;
synchronized
(
this
)
{
if
(
spX
!=
mPositionX
||
spY
!=
mPositionY
)
{
mPositionX
=
spX
;
mPositionY
=
spY
;
update
=
true
;
}
}
if
(
update
)
{
Log
.
i
(
"ygo"
,
"Android command setInputFix2:posX="
+
spX
+
",posY="
+
spY
);
IrrlichtBridge
.
setInputFix
(
mPositionX
,
mPositionY
);
}
return
new
int
[]{
w
,
h
};
}
...
...
@@ -266,39 +257,49 @@ public class YGOMobileActivity extends NativeActivity implements
}
}
private
void
fullscreen
()
{
//如果是沉浸模式
if
(
app
().
isImmerSiveMode
())
{
mFullScreenUtils
.
fullscreen
();
app
().
attachGame
(
this
);
//游戏大小
int
[]
size
=
getGameSize
();
// getWindow().setLayout(size[0], size[1]);
}
}
@Override
public
void
setContentView
(
View
view
)
{
FrameLayout
l
ayout
=
new
FrameLayout
(
this
);
mL
ayout
=
new
FrameLayout
(
this
);
int
[]
size
=
getGameSize
();
int
w
=
size
[
0
];
int
h
=
size
[
1
];
FrameLayout
.
LayoutParams
lp
=
new
FrameLayout
.
LayoutParams
(
w
,
h
);
lp
.
gravity
=
Gravity
.
CENTER
;
l
ayout
.
addView
(
mSurfaceView
,
lp
);
l
ayout
.
addView
(
view
,
lp
);
// getWindow().setLayout(w, h
);
// getWindow().setGravity(Gravity.CENTER
);
super
.
setContentView
(
layout
);
mL
ayout
.
addView
(
mSurfaceView
,
lp
);
mL
ayout
.
addView
(
view
,
lp
);
super
.
setContentView
(
mLayout
);
app
().
attachGame
(
this
);
changeGameSize
(
);
getWindow
().
takeSurface
(
null
);
replaced
=
true
;
mSurfaceView
.
getHolder
().
addCallback
(
this
);
mSurfaceView
.
requestFocus
();
}
@Override
public
void
onBackPressed
()
{
Toast
.
makeText
(
this
,
"请在游戏里面退出"
,
Toast
.
LENGTH_SHORT
).
show
();
// super.onBackPressed();
private
void
changeGameSize
(){
//游戏大小
int
[]
size
=
getGameSize
();
int
w
=
mLayout
.
getMeasuredWidth
();
int
h
=
mLayout
.
getMeasuredHeight
();
if
(
w
==
0
||
h
==
0
){
w
=
(
int
)
app
().
getScreenHeight
();
h
=
(
int
)
app
().
getScreenWidth
();
}
int
spX
=
(
int
)
((
w
-
size
[
0
])
/
2.0f
);
int
spY
=
(
int
)
((
h
-
size
[
1
])
/
2.0f
);
// Log.i("ygo", "Android command 1:posX=" + spX + ",posY=" + spY);
boolean
update
=
false
;
synchronized
(
this
)
{
if
(
spX
!=
mPositionX
||
spY
!=
mPositionY
)
{
mPositionX
=
spX
;
mPositionY
=
spY
;
update
=
true
;
}
}
if
(
update
)
{
// Log.i("ygo", "Android command setInputFix2:posX=" + spX + ",posY=" + spY);
IrrlichtBridge
.
setInputFix
(
mPositionX
,
mPositionY
);
}
}
private
void
initExtraView
()
{
...
...
@@ -473,6 +474,38 @@ public class YGOMobileActivity extends NativeActivity implements
@Override
public
void
setNativeHandle
(
int
nativeHandle
)
{
IrrlichtBridge
.
setHandle
(
nativeHandle
);
IrrlichtBridge
.
sNativeHandle
=
nativeHandle
;
}
@Override
public
void
surfaceCreated
(
SurfaceHolder
holder
)
{
if
(!
replaced
){
return
;
}
super
.
surfaceCreated
(
holder
);
}
@Override
public
void
surfaceChanged
(
SurfaceHolder
holder
,
int
format
,
int
width
,
int
height
)
{
if
(!
replaced
){
return
;
}
super
.
surfaceChanged
(
holder
,
format
,
width
,
height
);
}
@Override
public
void
surfaceDestroyed
(
SurfaceHolder
holder
)
{
if
(!
replaced
){
return
;
}
super
.
surfaceDestroyed
(
holder
);
}
@Override
public
void
surfaceRedrawNeeded
(
SurfaceHolder
holder
)
{
if
(!
replaced
){
return
;
}
super
.
surfaceRedrawNeeded
(
holder
);
}
}
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