2015-03-18

今天继续看了一些数据结构,还是二叉树,不过看的不深,因为这个东西要想搞深了一定要自己搞,切忌心浮气躁,自己只能慢慢的研究。已经也算是入门了,关于递归,树,图,8大排序,自己慢慢的实现吧。

今天主要看了cocos2dx,包括锚点,精灵,zorder的概念,坐标体系的概念,关于精灵的优化。

首先说锚点,锚点不是中心点,锚点默认是中心点,但是这个点我们可以设,就相当于当前的对象以哪个点为基准的点,我们还可以忽略锚点。

1.锚点影响放置位置

2.影响缩放

3.影响旋转

方法:sprite->setAnchorPoint

众生相,皆精灵,意思就是说,我们在cocos2dx里面绝大部分都是精灵,这个其实可以随着我们学习的深入,慢慢的就理解了。精灵的创建方法,CCSpriteFrame,CCSpriteFrameCache,CCTexture2D,CCTextureCatche,create。

关于zorder就是一个哪一层在前的优先级的问题,系统默认是0,我们可以手动的设。方法:CCLayer.setZOrder

坐标体系,说说坐标体系,分为屏幕坐标和OpenGL坐标,屏幕坐标的原点在左上角,x轴向后伸展,y轴向下伸展。而OpenGL的坐标在左下角,x轴向右伸展,y轴向上伸展。关于坐标体系,还有两种,这个分别是本地坐标和世界坐标,世界坐标是绝对的,就是相当于我们能看到的那块屏幕,而本地坐标指的是我们当前的对象基于父对象的位置,这就是本地坐标。在默认的情况下,我们的本地坐标和世界坐标是重合的,所以我们并没有感觉什么。

世界坐标

转换为世界坐标:

CCLayer.convertToWorldSpace

本地坐标

转换为本地坐标:

CCLayer.convertToNodeSpace

还有关于游戏的优化,也就是精灵的优化,如果我们用最最普通的方法创建精灵的话,那么如果精灵数越来越多,每次渲染,重画都会耗费很长的时间,直接导致应用变卡,那么解决方案就是缓存,我们可以首先用CCSpriteFrameCache来缓存下图像,然后再将CCSpriteBatchNode加入Layer中,最后把Sprite加入BatchNode中,这样每次的渲染,重画,就不会浪费cpu了。

就说这么多吧,刷完牙了,再写一篇就睡了,

时间: 2024-10-02 19:49:44

2015-03-18的相关文章

《软件测试管理公开课》2015.8.7~8 深圳 2015.8.11~12 北京 2015.8.18~19上海,欢迎报名!

课时:13小时(2天) 在软件开发流程中构筑软件质量 --软件测试管理     2015.8.7~8 深圳 2015.8.11~12 北京 2015.8.18~19上海   [课程背景] 据中国软件行业协会研究报告显示,2010年1-11月,我国软件业呈快速增长态势,同比增长30%,增速比去年同期提高8.6个百分点,软件产业已成为中国高科技发展重要支柱之一,但中国软件产品质量保证手段以及测试流程和管理的规范性,与国外同行(美国.印度等)存在较大的的差距.      在软件业较发达的国家, 软件测

iOS 学习笔记 六 (2015.03.28)常见错误

2015.03.28 1. property's synthesized getter follows Cocoa naming convention for returning 'owned' objects You own any object you create You create an object using a method whose name begins with “alloc”, “new”, “copy”, or “mutableCopy” (for example, 

OpenSCAD 2015.03的大变化,更方便了。

OpenSCAD 2015.03出来了,有几个大的变化: 1.增加工具按钮,操作起来更方便,尤其是在Mac OS X的窗口全屏模式下. 2.坐标的标尺显示尺寸的刻度,这个对3D打印的模型设计很方便. 3.代码编辑器支持代码块折叠和自动缩进等专业代码编辑器的一些特征了. 注意:一定要自己下最新版的才有这个功能哦,我用mac port装的最新才14.03,没有这些个功能. 顺便唠叨下:到http://www.thingiverse.com,在搜索框输入openscad,可以找到大量的采用OpenSC

2015.05.18,外语,学习笔记-《Word Power Made Easy》 03 “如何谈论不同从业者”

Prefix Person,nous,etc. Practice,etc. Adjective psyche 精神 psychic ['saikik] adj.精神的n.灵媒 -logos 科研 psychologist [psai'k?l?d?ist]n.心理学家 psychology [psai'k?l?d?i] n.心理学 psychological [,psaik?'l?d?ik?l] adj.心理学的 -iatreia 医疗 psychiatrist [psai'kai?trist]

湖南多校对抗赛(2015.03.28) E Longest Increasing Subsequence Again

题意:给你一个序列,问你删除掉连续的一段,使得剩下的序列的最长上升字串最大,问你这个最大值. 解题思路:分段dp,  dp[i][0] ,dp[i][1]   , 0表示前面没有切过,只能从前一个数的0状态得到,1状态表示前面已经切过了,能从前一个的1状态得到,也能从 在他前面的比他值小的dp[j][0](j < i && a[j] < a[i])的最大值得到,这里用线段树维护就行了. 解题代码: 1 // File Name: b.cpp 2 // Author: darkd

湖南多校对抗赛(2015.03.28) G Good subsequence

题意:找到一个序列中极值<=k的最长字串的长度. 解题思路:set容器双递推. 解题代码: 1 // File Name: g.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 12时04分39秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9 #include<deque>

湖南多校对抗赛(2015.03.28) A Rectangle

题意:给你一些最多宽为2 的木板,让你放在一个宽为二的盒子里面,问你这个盒子最短有多长. 解题思路:DP,离中间最近的那个值. 解题代码: 1 // File Name: a.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 12时13分56秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<set> 9

湖南多校对抗赛(2015.03.28) B Design road

题意:给你起点(0,0),终点(x,y),中间有很多条河, 在河上面建桥花费c1,在陆地建路花费c2,问你最小花费是多少. 解题思路:我们知道,我们考虑的时候完全可以把河都移动到一边来求,这样只需要三分就行了. 解题代码: 1 // File Name: b.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 13时26分39秒 4 5 #include<vector> 6 #include<list> 7 #

湖南多校对抗赛(2015.03.28) H SG Value

题意:给你一个集合,动态插入 ,动态询问,然后问你这个集合的sg值(这个集合用加法运算不能产生的那个最小正整数)是多少. 解题思路:假设我们现在的这个SG值是 x 1)现在插入集合里面一个数v   如果这个v > x ,那么显然  sg值x不变,  把v放进从小到大的优先队列中 2)如果这个 v <= x 那么sg值x肯定就会变成  x + v, 每更新一次 sg值,就去看优先队列top元素是否是 小于等于 x的 ,如果小于等于,其实就等于把这个top元素进行1操作,这样就不会错了. 解题代码

湖南多校对抗赛(2015.03.28) I Inversion Sequence

题意:给你一个序列a[i],代表 i这个数 在b数列中有多少个值在它前面且比它大,问你求B序列 解题思路:线段树的简单应用,找第几个空,类似二分. 解题代码: 1 // File Name: i.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月28日 星期六 12时56分11秒 4 5 #include<vector> 6 #include<list> 7 #include<map> 8 #include<