cocos2dx获取缩放后大小(cocos2dx 怎么获得spine动画大小)

2024-08-08 00:25:10 1

cocos2dx获取缩放后大小(cocos2dx 怎么获得spine动画大小)

大家好,今天小编来为大家解答以下的问题,关于cocos2dx获取缩放后大小,cocos2dx 怎么获得spine动画大小这个很多人还不知道,现在让我们一起来看看吧!

本文目录

cocos2dx 怎么获得spine动画大小

1、利用导数和函数图像解题。2、当x=0时,x的导数为1,sinx的倒数也是1。3、当x》0时,sinx的导数0时sinx《x,xx。4、或者,1.8版本以上的atlas做了修改,在第二行添加了size,所以只要删除size这一行即可。5、动作制作的时候如果层级有发生改变或者切换了skin,slot,请K帧一下,修改的部分:draworder和bone,一般首尾都K一下就行了。6、别忘记newskeletonanimation在create时候最后一个参数scale。

如何使用cocos2dx-jsbinding 来处理分辨率适配

辨率适配的核心思想是缩放,也就是layer.scale函数,但是一定要是等比缩放,如果用layer.scaleX或者layer.scaleY函数,虽然可以把游戏画面非常简单的搞成分辨率适配成没有黑边,但是整个游戏画面已经被拉伸或者压挤,不能达到我们需要的效果。 游戏中一般有3大类层。 1.大于屏幕的层,可实现拖动、缩放或者可以随着角色移动移动场景画面的,一般这种场景为主城、副本等等。 2.居中的层,一般是同时基于水平方向和竖直方向居中的,也有基于一个方向居中的。这种一般为ui弹层。 3.靠边的层,一般是ui,这些ui分别是紧贴屏幕边缘。 以上几种类型是基本的类型,当然某一个场景可能是上面几种层类型的组合。比如一个传统九宫格的战报场景,人物的排列是基于居中的,ui分布是靠边的,实现的时候我们将人物和ui分别绘制再2个layer中,每个layer基于相应的类型进行缩放,就可以达到想要的效果。 下面分别来说明下,三种类型的layer如何做缩放。 第一种:这种其实最简单,因为这种层的底图超过屏幕(一般都超出很多,因为要做移动和多点缩放,或者要随着角色移动至少一屏),所以只要做一个通用缩放就可以,何谓通用缩放,还是看代码// 获取屏幕尺寸 var size = cc.Director.getInstance().getWinSize(); this.designResolution = cc.size(960,640); // 获取高宽系数 var widthRatio = size.width/this.designResolution.width,heightRatio = size.height/this.designResolution.height; if (widthRatio !=1 || heightRatio!=1){ // 按照比例小的系数去进行缩放 if (widthRatio《heightRatio){ this._scaleRatio = widthRatio; }else{ this._scaleRatio = heightRatio; } }else{ this._scaleRatio = 1; }this.setScale(this._scaleRatio);复制代码第二种:在上面通用缩放的基础上设定层的坐标,使之可以上下左右居中var size = cc.Director.getInstance().getWinSize(); this.setPosition(cc.p((size.width-this.designResolution.width*this._scaleRatio)/2,(size.height-this.designResolution.height*this._scaleRatio)/2));复制代码第三种:这种layer是紧靠屏幕边缘的,所以我们要分别设定他的锚点,我们将整个layer分为9个点,刚好呈现一个“米”字型,其中每个点都需要new一个单独layer来设定它的锚点。this._uiLayerMap = this._uiLayerMap || {}; if (this._uiLayerMap){ return this._uiLayerMap; } var layer = cc.Layer.create(); layer.setPosition(cc.p(0,0)); this._uiLayerMap = layer; // 根据directionType设定锚点位置 switch (directionType){ case 1: layer.setAnchorPoint(cc.p(0,1)); break; case 2: layer.setAnchorPoint(cc.p(0.5,1)); break; case 3: layer.setAnchorPoint(cc.p(1,1)); break; case 4: layer.setAnchorPoint(cc.p(1,0.5)); break; case 5: layer.setAnchorPoint(cc.p(1,0)); break; case 6: layer.setAnchorPoint(cc.p(0.5,0)); break; case 7: layer.setAnchorPoint(cc.p(0,0)); break; case 8: layer.setAnchorPoint(cc.p(0,0.5)); break; } this.addChild(layer);复制代码当然,这些层生成完以后还需要做一个通用缩放。使用的时候要注意2点。1.设定坐标的时候要按照size.width和size.height来计算大小,例如我设定屏幕右下角ui的坐标为sprite1.setPositon(size.width,50);sprite2.setPositon(size.width-80,50);sprite3.setPositon(size.width-160,50);复制代码2.针对每个角的layer需要选择上面设定相应锚点layer。

cocos2d-x 怎样使父节点缩放子节点不变

前两年正好做过这个。。你缩放应该是拖动时候缩放吧?或者其他时候也OK,重写缩放函数,或者在拖动的时候实现,父节点scale变化时,实时调整子节点的scale,使其乘积为固定值就OK了。

如何自适应屏幕尺寸

1.首先,在网页代码的头部,加入一行viewport元标签。 viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。所有主流浏览器都支持这个设置,包括IE9,对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueries.js。 2、不使用绝对宽度由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。具体说,CSS代码不能指定像素宽度:width:xxx px;只能指定百分比宽度:width: xx%;或者width:auto;3、相对大小的字体字体也不能使用绝对大小(px),而只能使用相对大小(em)。body {font: normal 100% Helvetica, Arial, sans-serif;}上面的代码指定,字体大小是页面默认大小的100%,即16像素。h1 {font-size: 1.5em;}然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。small {font-size: 0.875em;}small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。

怎样制作基于Cocos2d-x的SLG游戏

打开工程后,运行程序,你会发现它不是一个空的项目,在Classes和Resource文件夹下Cocos2d-x已经给出了一些实质性的东西,当然这些不是一定都有用的,它们存在的目的是为了给我们展示一个典型的Cocos2d-x的例子。除了AppDelegate.h 和 AppDelegate.cpp文件,这两个文件夹下其他的东西都是可被删除的(不过在删除之前,可以先看一下HelloWorld类,了解下它的类结构、类方法,以便对Cocos2d-x进行初步的学习,也方便初学者依葫芦画瓢再写一个类似的场景)。AppDelegate类是创建项目时自动生成的一个类,它控制着游戏的生命周期,是Cocos2d-x游戏的通用入口文件,类似于一般 Windows 工程中main函数所在的文件。打开AppDelegate.cpp文件,在游戏加载期的最后一个applicationDidFinishLaunching()函数中我们可以设置第一个启动的游戏场景,如下:auto scene = GameScene::createScene();director-》runWithScene(scene);GameScene是我们新建的一个游戏场景,下面会讲解。分辨率适配在我的游戏中,首先第一件事还是做分辨率适配,这是个恒古不变的定律。现如今市场中各种屏幕尺寸和分辨率的移动设备层出不穷,为了更好地适应这些设备,游戏的分辨率适配是十分有必要的。在农场游戏中,很最要的一点就是实现大地图背景的拖动、放大缩小等操作,所以可想而知,我们的地图不是全部都显示在屏幕内的,也就是说,我们不能像之前的方式那样把整个显示内容做适配,我们应该留有一定的边距供玩家拖动。如下图所示:p2同样是在applicationDidFinishLaunching函数中,我们添加如下一段代码对游戏做分辨率适配,以便它能更好的适应不同的运行环境。glview-》setDesignResolutionSize(480.0f, 320.0f, ResolutionPolicy::FIXED_HEIGHT);std::vector searchPath;searchPath.push_back("H_1920");FileUtils::getInstance()-》setSearchPaths(searchPath);director-》setContentScaleFactor(1440.0f / 320.0f);分辨率适配的原理,建议大家阅读一下:Cocos2d-x 多分辨率适配完全解析这篇文章,虽然它不是针对最新版Cocos2dx引擎,但它还是能很清楚的告诉你分辨率适配的原理和方法。还有要说明的一点是,我们的游戏地图的高为1920,分辨率适配时则只设为了1440,意思就是说,我们本该全在屏幕内的内容留出了4分之一的高度在屏幕外。游戏地图模拟经营游戏中,游戏地图多为拼接而成,这里我们用瓦片地图器(Tiled Map Editor)来制作游戏的地图,它可以把后的地图文件保存为TMX格式的文件,能被Cocos2d-x很好的支持。瓦片地图(Tile Map)不但生成简单,而且可以灵活的用于引擎中。关于瓦片地图的介绍可参考瓦片地图一文。接下来我们开始创建地图。运行TiledMap器,新建一个地图文件。填写如下对话框:p3在地图方向选项内,可以选择正常、45度(传说中的2.5D)和45度交错,这里我们选择45度。接下来需要设置地图大小,这里的数值是指有多少格tile元件,并不是像素,这里我们选择30×30的地图。最后是确定tile元件的大小,根据美工提供的地面元件大小设置,这个教程里,我们使用128×64的大小。在地图大小一栏中,你可以看到最终的地图大小为3840 * 1920。点击确认之后,你可能已经发现了,这个游戏地图它是菱形的,如下图所示。p4这里你可能会想,为什么要菱形的啦,选择45度交错建一个接近矩形的不行吗?呵呵,其实这样也是可以的,只不过啦,Cocos2d-x引擎中默认是不支持45度交错的,如果需要在引擎中加载这种交错的地图必须自己修改引擎代码(看到这,是不是整个人都不好了),而且在修改过后还不能正确的得到地图的大小,需要自己编写计算大小的公式代码。鉴于这一点,我在想,难道《全名农场》、《请叫我海盗》等游戏地图的四个角都不能被点击操作都是因为这个原因吗? 哈哈,就当是我想多了吧。其实菱形就菱形吧,其他的游戏也都这样,可以在菱形地图的下层贴一层背景来掩盖这一现象。接下来,我们还是回到正题开始拼接地图吧。选择地图-》新图块,然后填写如下所示的对话框。p5选择浏览按钮,将准备好的图块文件载入器。接着设置图块的宽度和高度(默认情况下是一个tile元件的大小,但),根据图块文件中图块的大小来设置。边距、间距什么的,可不做修改,0就好。最后选中相应的图块,拖动到渲染区拼一个理想的地图。p6暂时我们就只简单的拼一个地图就可以了,后面再根据游戏需要,设置一些必要的对象和属性。加载地图资源新建一个GameScene场景,加载游戏地图。不过在此之前,请把好的tmx和图块文件拷贝到Resource文件夹下。GameScene的结构和HelloWorld差不多,照着HelloWorld类依葫芦画瓢就可以建一个。你可以先看看它是如何实现的,再实现自己的类。这里就不多说了。在Cocos2d-x中使用TMX,有以下流程供你参考:首先用地图器你的地图,导出成TMX 格式。将导出的TMX 文件和相关图片放在工程的Resoure文件夹下。使用Cocos2d-x中TMXTileMap 类的create方法创建地图对象,TMX 文件的解析是引擎内部完成的,所以我们不需要担心。TMXTileMap 是Node 的子类,因此只要添加到场景中即可。通过TMXTileMap,可以获得其他相关对象,比如单个瓦片(属Sprite类),比如对象组(ObjectGroup类),比如层(TMXLayer类)等;你可以通过TMXLayer类修改,删除或者添加某个网格位置的瓦片,这样可以动态的修改地图了,你还可以进行其他的操作,相关的API 我们后面使用到了再做讲解。在GameScene类的init函数中添加如下的代码创建游戏地图:mapLayer = LayerColor::create(Color4B(78,127,41,255));this-》addChild(mapLayer,-1); auto map = TMXTiledMap::create("mymap4.tmx");mapLayer-》setContentSize(map-》getContentSize());mapLayer-》addChild(map, 10); auto treeSprite = Sprite::create("1.png");treeSprite-》setAnchorPoint(Vec2(0, 0));treeSprite-》setPosition(Vec2(0, 0));treeSprite-》setScale(2);mapLayer-》addChild(treeSprite, 11);代码中新建了一个带颜色的背景层,背景层的尺寸等于加载的TMX地图大小。接着把地图和如下的一个遮盖层(其实就是为了防止菱形的地图看起来那么突兀而添加的一层)依次添加到层上。p7运行程序,你将看到如下图所示的游戏场景:p8本教程的美术资源不是很完善,大家就将就看吧,见谅!下章我们将实现游戏背景的单指拖动,双指缩放的功能,以及利用Cocos Studio来制作一个支持多分辨率的UI系统。

关于cocos2dx获取缩放后大小到此分享完毕,希望能帮助到您。

cocos2dx获取缩放后大小(cocos2dx 怎么获得spine动画大小)

本文编辑:admin
cocos2dx获取缩放后大小 ,spine ,cocos

更多文章:


channel into(channelinto造句)

channel into(channelinto造句)

本文目录channelinto造句channel是什么意思Simultaneous Outflow of Fresh Water and Inflow of Sea Water in a Coastal Springchannel什么意思c

2024年5月12日 14:20

asp代码问题?固铂asp-205/55r16单导向汽车轮胎94v怎么样

asp代码问题?固铂asp-205/55r16单导向汽车轮胎94v怎么样

本篇文章给大家谈谈asp55,以及asp代码问题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录asp代码问题固铂asp-205/55r16

2024年6月28日 05:30

登录页面设计代码(asp用户登陆界面代码)

登录页面设计代码(asp用户登陆界面代码)

大家好,登录页面设计代码相信很多的网友都不是很明白,包括asp用户登陆界面代码也是一样,不过没有关系,接下来就来为大家分享关于登录页面设计代码和asp用户登陆界面代码的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2024年7月12日 17:59

navigator是什么牌子(“Navigator”是什么手机的牌子)

navigator是什么牌子(“Navigator”是什么手机的牌子)

本文目录“Navigator”是什么手机的牌子谁知道这是什么汽车标志就是林肯标志倒过来那样川崎羽毛球拍NAVIGATOR3500i是哪牌子性能好吗,求帮助啊“Navigator”是什么手机的牌子navigator是在JavaScript中的

2024年6月27日 00:32

termux下安装所有渗透工具(【termux】手把手教你在Android上使用termux终端)

termux下安装所有渗透工具(【termux】手把手教你在Android上使用termux终端)

本文目录【termux】手把手教你在Android上使用termux终端termux安装torchtermux 安装aksharetermux安装ndktermux安装第三方库的默认安装路径【termux】手把手教你在Android上使用t

2024年7月23日 02:54

网站源码加密破解工具(高分求asp源码加密工具,加密源码下conn文件里面有数据库路径混浠加密都可以,能被破解也没关系)

网站源码加密破解工具(高分求asp源码加密工具,加密源码下conn文件里面有数据库路径混浠加密都可以,能被破解也没关系)

本文目录高分求asp源码加密工具,加密源码下conn文件里面有数据库路径混浠加密都可以,能被破解也没关系我从网上下来的php源码,所有的php文件都被加密了,有没有什么软件可以批量破解呢有什么好用一点的源代码加密软件推荐c语言高手请进 如何

2024年7月15日 23:47

注册表编辑器(windows7中,怎样打开注册表编辑器)

注册表编辑器(windows7中,怎样打开注册表编辑器)

本文目录windows7中,怎样打开注册表编辑器怎么打开注册表及编辑 win7注册表编辑器怎么打开怎么打开注册表 注册表编辑器怎么打开win10注册表编辑器怎么打开注册表编辑器关闭了如何开启如何打开注册表编辑器如何打开windows注册表编

2023年7月6日 17:00

zblog源码下载((有关zblog) asp源码的问题,如何将以下源码写入c_custom.asp而不错)

zblog源码下载((有关zblog) asp源码的问题,如何将以下源码写入c_custom.asp而不错)

本文目录(有关zblog) asp源码的问题,如何将以下源码写入c_custom.asp而不错zblog安装教程_请问谁有zblog安装教程网络错误500 zblog(有关zblog) asp源码的问题,如何将以下源码写入c_custom.

2024年7月24日 01:14

易语言外网聊天室(易语言外网聊天室怎么整)

易语言外网聊天室(易语言外网聊天室怎么整)

大家好,关于易语言外网聊天室很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于易语言外网聊天室怎么整的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录易语言

2024年7月23日 18:20

sqlserver存储过程面试题(求:存储过程面试题!)

sqlserver存储过程面试题(求:存储过程面试题!)

本文目录求:存储过程面试题!关于SQLSERVER存储过程的问题,求解SQL面试题,谢谢,麻烦了数据库存储过程有哪些,面试题关于SQLSERVER的存储过程的几个题目..求解~!~~一道面试题 :sql server 2000有哪些数据库系

2024年7月1日 22:46

transformers读音(变形金刚用英文怎么说带音标的)

transformers读音(变形金刚用英文怎么说带音标的)

本文目录变形金刚用英文怎么说带音标的变形金刚的大写拼音变形金刚的英文怎样拼transformers是什么车变形的拼音变形金刚用英文怎么说带音标的transformerstransformers 这个直接读出来没问题吧 用啥音标啊变形金刚的大

2024年7月21日 18:09

测试工程师招聘(有谁知道关于珠海伟创力公司的招聘信息)

测试工程师招聘(有谁知道关于珠海伟创力公司的招聘信息)

本文目录有谁知道关于珠海伟创力公司的招聘信息做软件测试工资高吗入门难吗广联达(一个工程软件开发公司)招得是什么测试工程师北大青鸟自己就是培训软件测试工程师的 为什么还要招有谁知道关于珠海伟创力公司的招聘信息在珠海一定要看这个网站:本公司现场

2024年7月2日 04:26

yarn安装失败(ubuntu怎么安装hadoop yarn)

yarn安装失败(ubuntu怎么安装hadoop yarn)

本文目录ubuntu怎么安装hadoop yarnhadoop安装问题yarn npm包安装 为什么需要超级管理员yarn install 为什么总失败yarn是如何解决高可用问题的请教yarn.nodemanager.local-dirs

2023年7月23日 22:40

编程是在电脑哪里操作(c语言在电脑的哪里编程)

编程是在电脑哪里操作(c语言在电脑的哪里编程)

大家好,今天小编来为大家解答以下的问题,关于编程是在电脑哪里操作,c语言在电脑的哪里编程这个很多人还不知道,现在让我们一起来看看吧!本文目录c语言在电脑的哪里编程电脑编程在哪里进行电脑上怎么编程电脑编程是在哪上面编写,怎么编在电脑上怎么编程

2024年9月10日 12:15

experiments(esperiment是什么意思)

experiments(esperiment是什么意思)

本文目录esperiment是什么意思experiment是什么意思experiment的意思esperiment是什么意思experimentn.尝试; 实验,试验; vi.尝试; 做实验,进行试验; 第三人称单数:experiments

2024年7月24日 03:09

c语言中括号的优先级(c语言逻辑运算符,关系运算符,算术运算符,园括号的优先级是怎么样的)

c语言中括号的优先级(c语言逻辑运算符,关系运算符,算术运算符,园括号的优先级是怎么样的)

大家好,c语言中括号的优先级相信很多的网友都不是很明白,包括c语言逻辑运算符,关系运算符,算术运算符,园括号的优先级是怎么样的也是一样,不过没有关系,接下来就来为大家分享关于c语言中括号的优先级和c语言逻辑运算符,关系运算符,算术运算符,园

2024年8月7日 22:45

穿梭时空的侠客笔趣阁(你相信能穿越时空吗)

穿梭时空的侠客笔趣阁(你相信能穿越时空吗)

本文目录你相信能穿越时空吗透明人、瞬移、时间暂停、永生、穿越时空,如果你可以拥有其中任意一种特异功能,你会如何选择有什么好看的穿越电视剧或者电影2020假如你穿越到楚汉战争期间成了项羽,你准备怎么做,能打败刘邦吗你相信能穿越时空吗每天在梦里

2024年7月4日 23:28

svn的使用的全部流程(jenkins+svn,详细的工作流程是怎样的)

svn的使用的全部流程(jenkins+svn,详细的工作流程是怎样的)

本文目录jenkins+svn,详细的工作流程是怎样的svn 已经提交代码,要想撤回提交该怎么操作SVN的操作说明以及备份策略jenkins+svn,详细的工作流程是怎样的安装插件后,进入系统设置页面,配置如下:官网上安全域设置为Servl

2024年7月23日 01:58

fedora和centos(怎样在RHEL,CentOS和Fedora上安装Git及设置Git账号)

fedora和centos(怎样在RHEL,CentOS和Fedora上安装Git及设置Git账号)

本文目录怎样在RHEL,CentOS和Fedora上安装Git及设置Git账号如何在Fedora或CentOS上使用Samba共享怎样在RHEL,CentOS和Fedora上安装Git及设置Git账号一、使用包管理器安装GitGit已经被所

2024年7月22日 23:53

在jdk中运行java程序(怎么用JDK打开JAVA)

在jdk中运行java程序(怎么用JDK打开JAVA)

大家好,在jdk中运行java程序相信很多的网友都不是很明白,包括怎么用JDK打开JAVA也是一样,不过没有关系,接下来就来为大家分享关于在jdk中运行java程序和怎么用JDK打开JAVA的一些知识点,大家可以关注收藏,免得下次来找不到哦

2024年8月23日 07:30

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1152
标签列表

热门搜索