首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何让一个演员呆在舞台里?

如何让一个演员呆在舞台里?
EN

Stack Overflow用户
提问于 2016-01-14 07:57:00
回答 1查看 584关注 0票数 0

我正在用libgdx创建一个游戏,我用舞台和演员来制作游戏中的实体。但问题是我不能让演员呆在舞台或银幕里。当我把演员拖到最低、最高、最左或最右边的屏幕上时,它就会从屏幕上消失。我要它留在屏幕里。

我该怎么办?请帮帮忙。

这是我用来拖动我的演员的代码片段。

addListener(新的DragListener(){ @重写公共布尔型touchDown(InputEvent事件,浮点数x,浮点数y,int指针,int按钮)){ camera.unproject(dimension.set(x,y,0));System.out.println("clicked "+ x+,“+y”);返回true;}@覆盖公共空touchDragged(InputEvent事件,浮点数x,浮点数y,int指针){ moveBy(x-(getWidth()/2),y-(getHeight()/3));}@覆盖公共super.touchUp(InputEvent事件,浮点数x,浮点数y,int指针,int按钮){super.touchUp(事件,x,y,指针,按钮);}};};

EN

回答 1

Stack Overflow用户

发布于 2016-01-17 16:14:28

Stage确实有getWidthgetHeight方法。它们返回由内部Viewport管理的世界大小。Window类具有可选的拖动行为和keepWithinStage参数。

这是来自LibGDX 1.8.0 (Window类)的代码片段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        public void touchDragged (InputEvent event, float x, float y, int pointer) {
            if (!dragging) return;
            float width = getWidth(), height = getHeight();
            float windowX = getX(), windowY = getY();

            float minWidth = getMinWidth(), maxWidth = getMaxWidth();
            float minHeight = getMinHeight(), maxHeight = getMaxHeight();
            Stage stage = getStage();
            boolean clampPosition = keepWithinStage && getParent() == stage.getRoot();

            if ((edge & MOVE) != 0) {
                float amountX = x - startX, amountY = y - startY;
                windowX += amountX;
                windowY += amountY;
            }
            if ((edge & Align.left) != 0) {
                float amountX = x - startX;
                if (width - amountX < minWidth) amountX = -(minWidth - width);
                if (clampPosition && windowX + amountX < 0) amountX = -windowX;
                width -= amountX;
                windowX += amountX;
            }
            if ((edge & Align.bottom) != 0) {
                float amountY = y - startY;
                if (height - amountY < minHeight) amountY = -(minHeight - height);
                if (clampPosition && windowY + amountY < 0) amountY = -windowY;
                height -= amountY;
                windowY += amountY;
            }
            if ((edge & Align.right) != 0) {
                float amountX = x - lastX;
                if (width + amountX < minWidth) amountX = minWidth - width;
                if (clampPosition && windowX + width + amountX > stage.getWidth()) amountX = stage.getWidth() - windowX - width;
                width += amountX;
            }
            if ((edge & Align.top) != 0) {
                float amountY = y - lastY;
                if (height + amountY < minHeight) amountY = minHeight - height;
                if (clampPosition && windowY + height + amountY > stage.getHeight())
                    amountY = stage.getHeight() - windowY - height;
                height += amountY;
            }
            lastX = x;
            lastY = y;
            setBounds(Math.round(windowX), Math.round(windowY), Math.round(width), Math.round(height));
        }

您可以通过将X夹紧到0和stage.getWidth() - actor.getWidth()来简化这一点,并为Y做同样的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34793994

复制
相关文章
浏览器里标记生活大爆炸所有演员 — — face-api.js
最近,一群工程师基于 tensorflow.js core 框架,开发出一款可以在浏览器上运行的人脸识别 API——face-api.js,不仅能同时还可以识别多张人脸,让更多非专业 AI 工程师,能够低成本使用人脸识别技术。
HyperAI超神经
2019/11/30
1.1K0
你有一个机会,这里有一个舞台
滑至文末,申请成为大会讲师,欢迎自荐👏🏻 近年来音视频技术在整体大环境的影响下,开始迅猛增长。一方面音视频技术转变了人们的社交、办公、娱乐方式,像短视频、直播、视频会议、远程协同办公、线上教学、线上KTV等等;另一方面,音视频技术也在不断解锁更多场景,带给我们无限惊喜。 对此,我们以「音视频+无限可能」为主题,在LiveVideoStackCon 2022 北京站(11月4-5日)与大家继续探索音视频技术在不同场景下的融合与发展。在这里不仅可以与业内大佬们进行技术上的心得交流,还可以感受到多媒体生态内的
LiveVideoStack
2022/06/24
3900
你有一个机会,这里有一个舞台
当春晚遇到元宇宙:穿越时空感受三星堆文化
举办了40届的春晚,已经成为了所有中国人心中的文化印记,虽然大家对于节目内容褒贬不一,但是每一年的春晚都会紧跟当下的黑科技,今年的春晚也不例外。
科技旋涡
2022/03/30
9060
当春晚遇到元宇宙:穿越时空感受三星堆文化
xpath里如何定义包含一个class
原网址:https://segmentfault.com/q/1010000000779093
SingYi
2022/07/13
4610
flash退出舞台,网站视频加密该如何做?
随着谷歌等浏览器不在支持flash,网站视频课程加密也必须考虑新的方案,而不能在使用原来的是flash加密,那么替代方案是什么呢?能不能达到和flash一样的加密效果?毕竟对于视频加密来说安全性和便利性是比较重要的,在给用户良好的体验基础上,安全性是关键了。
点量小芹DolitQin520
2021/02/22
1.2K0
flash退出舞台,网站视频加密该如何做?
是载体,更是舞台
“传统的IT存储厂商,‘存’是其核心关注点;而互联网企业,不仅要做好‘存’,还要做强‘用’。”
云存储
2021/01/05
6650
对舞台表演的认知还停留在灯光秀阶段?
日前,Adobe在旧金山时尚中心Dogpatch区的《Minnesota Street Project》项目中,正式宣布启动AR技术作为艺术家们的新媒介。这让小编不禁想到了张艺谋《对话·寓言2047》中的古琴与激光,陕西碗碗腔与全息投影、机械臂等艺术与科技的碰撞与融合,颠覆了人们对舞台灯光、舞美等表现形式的认知,让艺术更具表现力。
VRPinea
2018/07/26
5220
对舞台表演的认知还停留在灯光秀阶段?
大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台
让我们继续《让您的应用适配更多屏幕》中的话题,不过今天会更专注于游戏的范畴。在不久前的 GDC 上,我们很高兴能和大家分享多样化的设备为游戏体验带来的可能性。这些年我们亲历了诸多移动硬件的演进,如 3D 显示器和高分辨率屏幕等,也因为这些演进,让我们在应用商店中看到越来越多新颖的游戏出现,让玩家们在更沉浸的画面和游戏体验中流连忘返。
Android 开发者
2022/09/20
1.4K0
大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台
Python使用Apriori算法分析导演请某演员后还会请哪个演员
进入公众号,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的文章列表,通过“最新资源”==>“微课专区”可以观看Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。
Python小屋屋主
2018/12/17
5440
32年节目单,挖掘春晚“大数据”
刘德华是春晚的常客   晨报记者 陈 文    自1983年起,央视春节联欢晚会已经伴随国人走过32个年头。32年,换作人的一生也近1/3,站在而立之年的当头,该怎样看待过往及将来?这一次, 我们找到32年来的春晚节目单,试图用时下流行的大数据,钩沉32年来某些可能被忽略的细节。从这份不一样的数说中,我们试图捕捉岁月的变迁,也期待能洞 见数字背后的那些变与不变。 PART1“老朋友” 朱军:“屹立不倒”18年
小莹莹
2018/04/20
1.1K0
32年节目单,挖掘春晚“大数据”
第九章:舞台(Stage)简介舞台类以及使用
1.API定义:拥有多个层次结构的二维场景,场景中有许多演员,处理纹理图片和接收的输入事件,以及负责操作游戏视角、 2.特点:盛装演员,监听并接收触屏事件,处理Group Actors。 3.提醒:Stage 本身封装了一个Camera(相机),用于适配不同分辨率设备。以及封装了一个精灵类(SpriteBatch) 特点: 1.Stage可以铺满屏幕,设置视角大小,同时设置照相机 2.调配Actor,Group 与 Screen之间的关系转换,一个Stage必须负责接收输入事件,同时,它将自动分配给演员(Actor)。 3.通常是调用Gdx.input.inputProcessor = stage 来实现监听注册
Xiaolei123
2018/08/10
4980
第九章:舞台(Stage)简介舞台类以及使用
【AI就业面面观】如何选择适合自己的舞台?
应届生的第一份工作是形成工作习惯、思维方式的主要阶段。要知道,良好的工作方式和做事习惯、思考和解决问题的方式,对于一个人后续的职业发展至关重要,在起跑线上一定要占据优势。如果抛开具体的方向不谈,仅仅就公司的规模来进行考虑的话,应届生刚开始最好去一个做事靠谱、规模不太小的公司。
SIGAI学习与实践平台
2018/08/24
4020
【AI就业面面观】如何选择适合自己的舞台?
提示大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台
让我们继续《让您的应用适配更多屏幕》中的话题,不过今天会更专注于游戏的范畴。在不久前的 GDC 上,我们很高兴能和大家分享多样化的设备为游戏体验带来的可能性。这些年我们亲历了诸多移动硬件的演进,如 3D 显示器和高分辨率屏幕等,也因为这些演进,让我们在应用商店中看到越来越多新颖的游戏出现,让玩家们在更沉浸的画面和游戏体验中流连忘返。
Android 开发者
2019/05/21
1.5K0
提示大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台
点击加载更多

相似问题

PHP5中简单而强大的图表库

40

简单的独立网站检查工具

40

强大而简单的在.NET中实现加密技术?

23

用于故障转移IIS服务的强大而准确的IIS报告工具

10

强大的windows计算器工具?

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文