lufy's legend

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 12707|回复: 6

LGlobal.resize横屏图片都被拉伸变形了,该怎么解决

[复制链接]

3

主题

0

好友

31

积分

士兵

Rank: 1

发表于 2019-4-2 16:35:41 |显示全部楼层
本帖最后由 husheng 于 2019-4-2 17:01 编辑

大神请教一下,这个手机浏览器有横屏的模式,横屏过后怎么图片就全部被拉伸了,那个scaleX=scaleY 不是指的针对图片本身的缩放吗?照理说,背景图片宽度不够被拉伸了还能理解,就是这些元素图片也被拉伸.不知道是怎么回事,这个有解决的办法吗?还有竖屏的时候用ihponeX看也会被竖直拉伸一些.LGlobal.resize当屏幕为横屏的时候,我改变了画布的尺寸,然后图片就全部都被拉伸了.LStageScaleMode 现在用的是'exactFit'其他 几种模式我都试过了,都会变形

回复

使用道具 举报

37

主题

8

好友

9305

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

发表于 2019-4-3 08:02:49 |显示全部楼层
Global.resize就是将当前的画面缩放到指定大小
你是想手动修改画面大小来适应横竖屏吗?下面是以前有人问的时候我写的一个例子,不知道跟你的需求是不是一致,你看一下吧,如果不是的话,请把需求再进一步详细说明一下
http://lufylegend.com/demo/test/141.html
不回答与技术和引擎不相关的问题
回复

使用道具 举报

3

主题

0

好友

31

积分

士兵

Rank: 1

发表于 2019-4-3 10:31:56 |显示全部楼层
lufy 发表于 2019-4-3 08:02
Global.resize就是将当前的画面缩放到指定大小
你是想手动修改画面大小来适应横竖屏吗?下面是以前有人问的 ...

你给的这个例子我看过,不是我要的模式,我做的这个游戏是一个在手机浏览器上用的,现在竖屏的都调好了,我现在要做的就是通过resize来监听设备的横屏和竖屏.让整个游戏界面能够自适应的铺满屏幕,就和响应式的网站一样,现在的问题就是,当手机横过来的时候,虽然页面的布局没有改变,但是页面里的所有图片都被拉伸变形了.我在问题中有附两张效果图片,一张横屏的一张竖屏的.但是不知道怎么的没有看到了.
回复

使用道具 举报

37

主题

8

好友

9305

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

发表于 2019-4-3 11:40:18 |显示全部楼层
husheng 发表于 2019-4-3 10:31
你给的这个例子我看过,不是我要的模式,我做的这个游戏是一个在手机浏览器上用的,现在竖屏的都调好了,我现 ...

你用手机打开我给你的例子,就是响应式啊
只是我是在手机翻转的时候,页面也进行了翻转
下面的事件回调就是手机发生翻转时的处理
  1. LGlobal.stage.addEventListener(LEvent.WINDOW_ORIENTATIONCHANGE,orientationIsChange);
复制代码
重点就是重新设置画布的大小,而并不是简单的缩放画面,所以需要再次调整LGlobal.width,LGlobal.height,LGlobal.canvasObj.width,LGlobal.canvasObj.height这四个值
如果你不想让里面的内容发生翻转,而是根据页面比例重新排列界面里的内容的话,
你可以把里面的处理改成自己需要的即可
不回答与技术和引擎不相关的问题
回复

使用道具 举报

3

主题

0

好友

31

积分

士兵

Rank: 1

发表于 2019-4-3 11:44:01 |显示全部楼层
lufy 发表于 2019-4-3 11:40
你用手机打开我给你的例子,就是响应式啊
只是我是在手机翻转的时候,页面也进行了翻转
下面的事件回调就 ...

谢谢,我再研究研究
回复

使用道具 举报

37

主题

8

好友

9305

积分

诸侯王

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

发表于 2019-4-3 12:01:07 |显示全部楼层
husheng 发表于 2019-4-3 11:44
谢谢,我再研究研究

其实很简单了,
你可以写个根据手机横竖屏刷新所有对象坐标的函数
每次调整完canvas的大小之后,调用一下这个函数就可以实现自适应了
不回答与技术和引擎不相关的问题
回复

使用道具 举报

3

主题

0

好友

31

积分

士兵

Rank: 1

发表于 2019-4-12 19:50:04 |显示全部楼层
lufy 发表于 2019-4-3 12:01
其实很简单了,
你可以写个根据手机横竖屏刷新所有对象坐标的函数
每次调整完canvas的大小之后,调用一下 ...

哦,谢谢,大神再请教一下,LGlobal.x不是定义的全局变量吗?为什么当LGlobal.x的值发生变化的时候,其他页面没有跟着相应的变化,比如我初始化的时候用LGlobal设置了一个图标的scale为1,然后当我用resize监听的页面为横屏的时候,修改这个LGlobal scale的值为1.5,但是页面中这个图标却没有变大,请问是本来就是这样的吗?还是我写法的问题啊,如果本来就是这样的话,那我要用什么样的方法才能达到我上面想要的效果呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

防止垃圾广告,请填写任意字符

Archiver|lufy's legend

GMT+8, 2024-3-29 15:44 , Processed in 0.054660 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部