- 【三】CocosCreator-CCDirector.js源码分析
0zien0
javascripttypescript源码分析CCDirector.js
PS:只是看源码学习过程中把认为重要的内容以笔记的形式记录下来。【1】cc.director:cc.Director的一个单例对象。如果需要用到导演类的内容,统一通过cc.director这个单例对象来调用。【2】init():对导演类的成员变量进行初始化操作。在构造函数对此init函数注册了消息监听,当接收到来自CCGame的EVENT_ENGINE_INITED事件后才执行导演类的init函数
- Cocos2d-x 导演类CCDirector
白小白152
Cocos2d-x导演类CCDirector导演类也是一个单例,有两大作用,一是设置主窗口的显示属性(比如垂直或水平、是否显示FPS)二是管理、显示场景。之前提到过,场景是树的根节点,一个游戏可以同时存在多个树,但被激活的只能有一个导演类的实现方法是:将所有树的根节点(即场景对象)保存在一个堆栈中(array),最后进栈的就是当前激活的场景,当需要切换场景时,导演通过进栈、出栈或替换的方式实现。方
- popToRootScene和popScene场景切换区别
格局_1530
CCDirector和CCScene在cocos2dx里,CCDirector和CCScene有很密切的关系,CCDirector是导演,负责CCScene的展示,切换,结束等工作,具体体现在成员函数中:以上是CCDirector的关于CCScene的成员函数voidrunWithScene(CCScene*pScene):该函数是刚开始运行时,导演类展示场景voidpushScene(CCSce
- Cocos2D-X设计模式:防御式编程模式
诗琳C语言学习者
image.png1.应用场景检查指针的参数值首先,第一个大量使用的是CCLayer的init函数:|boolCCLayer::init(){boolbRet=false;do{CCDirector*pDirector;CC_BREAK_IF(!(pDirector=CCDirector::sharedDirector()));this->setContentSize(pDirector->get
- cocos2d点击空白收起键盘的问题
南国青天
最近发现一个诡异的问题,明明没有在CCDirector.sharedDirector().view添加任何手势相应.但是点击空白地方键盘会自动收起.因此总是导致inputAccessoryView被移除屏幕外.最后在CCNode里面的父类发现了如下.[[CCDirectorsharedDirector].viewendEditing:YES]改成[[CCDirectorsharedDirector
- 'stack' file not found 问题分析和解决方法
三方
在项目中遇到直接崩溃在CCDirector.h系统文件,报错如下'stack'filenotfound问题分析:从网上看到资料说可能原因有如下几个:1.YouaretryingincludeC++headerinObjective-Cimplementationfile.2.Youaretryingincludeheadertwice.Thatcannotclearforyou,whycompil
- 场景切换及内存问题
凡凡的小web
替换场景:(1)CCScene*pScene=SceneTestScene::scene();CCDirector::sharedDirector()->replaceScene(pScene);(2)CCScene*pScene=SceneTestScene::scene();CCDirector::sharedDirector()->pushScene(pScene);(3)CCScene*p
- cocos2dx 项目经验之截图设置弹出暂停界面
cocos_Wei
cocos2d-x体验cocos2d-x学习cocos2dx
在项目开发时,发现如果用CCDirector::sharedDirector()->pause();之后精灵是做不了动作的,所以我寻求了另一种方法,原理就是要弹出暂停界面是就用push(暂停场景),及顾名思义推出一个暂停界面,将游戏界面暂停压入栈中,当暂停界面响应后(或做动作完后)就可以pop,及拿出意思,推出栈,及之前的游戏界面会继续开始。先新建一个暂停类PauseLayer下面是部分实现CCR
- cocos2d-x 使用plist创建精灵并执行动画
Groz
cocos2d-x
素材图:然后使用TexturePacker放到一张图片上,并生成plist文件接下来直接上代码[cpp]viewplaincopyCCSizesize=CCDirector::sharedDirector()->getWinSize();//获得屏幕的尺寸CCArray*pArray=CCArray::createWithCapacity(4);CCSpriteFrameCache*pCache=
- Cocos2dx如何实现每一帧的触发
xpbhere
Cocos2dx
版本:cocos2dx-3.3Cocos2dx通过调用Director的类mainLoop函数实现整个游戏调度。源码:CCDirector.cppvoidDisplayLinkDirector::mainLoop(){if(_purgeDirectorInNextLoop){_purgeDirectorInNextLoop=false;purgeDirector();}elseif(!_inval
- 使用replaceScene实现场景切换
洋羽翔_hisen
Cocos编程
在CCDirector中,可以使用replaceScene实现场景切换。说明:1.场景的运行,首先在AppDelegate::applicationDidFinishLaunching()中通过CCDirector的runWithScene方法,运行游戏的第一个场景2.通过点击HelloWorldScene中的一个精灵,实现切换到场景SceneSecond3.通过点击SceneSecond中的一个
- CCDirector实现场景管理
洋羽翔_hisen
Cocos编程
CCDirector说明:1.CCDirector来进行场景的管理和切换2.CCDirector常用函数说明runWithScene:第一次运行场景的时候使用replaceScene:切换场景的时候使用,就是换一个渲染数pushScene:把当前场景暂停,压到栈底,把新的场景放到栈顶,游戏进入新的场景popScene:把栈顶的场景弹出去,运行被暂停的程序pause:游戏暂停resume:游戏继续e
- cocos2dx 动画常见的22种特效
linuxheik
cocos2d-x
boolHelloWorld::init(){////1.superinitfirstif(!CCLayer::init()){returnfalse;}CCSizesize=CCDirector::sharedDirector()->getWinSize();//获取屏幕大小CCSprite*sp=CCSprite::create("Icon.png");sp->setPosition(ccp(
- cocos2dx 动画
msh24
boolHelloWorld::init(){////1.superinitfirstif(!CCLayer::init()){returnfalse;}CCSizesize=CCDirector::sharedDirector()->getWinSize();CCSprite*sp=CCSprite::create("background1.png");sp->setPosition(ccp(s
- cocos2d-x getVisibleSize、getContentSize、getWinSize函数
小白菜小青菜
cocos
在cocos2d-x里CCNode对象有缩放的方法setScaleX和setScaleY。所以在获取对象大小的时候必须根据情况明确指定获取对象原始大小,还是缩放后的大小。cocos2d::Sizesize1=cocos2d::CCDirector::getInstance()->getWinSize();floatscaleX=size1.width/768;floatscaleY=size1.h
- cocos2d-x判断sprite点击
zhoujianghua_2008
我们常常需要判断用户的点击操作是否落于某个sprite之上,进而让这个sprite做出响应。但是如果我们通过继承CCSprite类来实现自己的Sprite类的时候,产生的视图尺寸会充满屏幕。多个Sprite在同一层的时候会发生重叠,导致我们通过回调函数传递进的touch点是相对于最上层Sprite来说的。好在我们可以通过CCDirector::sharedDirector()->convertTo
- Cocos2d-x 让精灵随手指移动起来二(简单实现)
weixin_34025151
voidHelloWorld::ccTouchMoved(cocos2d::CCTouch*touch,cocos2d::CCEvent*event){CCSizewinSize=CCDirector::sharedDirector()->getVisibleSize();if(m_ship){CCPointpos=touch->getDelta();//获取触点当前位置与较早前的位置的差距CCP
- cocos2d-x 一道简单面试题,触摸事件的重新分发
ocean_dhl
cocos2d-x
转载请注明出处http://blog.csdn.net/rct1985前段时候换工作时,去触控科技面试,面试官问了这么一个问题。”当弹出一个新窗口时,如果屏蔽掉下面层的触摸事件?“这个问题对于接触cocos2d引擎一段时间的同学来说,都不算难。当时我想到了两种解决方案,也是在之前项目中用到过的:一、加一个屏蔽层,TouchMaskLayer,它的写法差不多就是a.CCDirector::share
- Cocos2d-x 如何暂停界面
lognic10
cocos2d引擎开发笔记
很多游戏,暂停界面是少不了的,怎样才能够在暂停界面后,被覆盖的界面操作停止,而又不会影响到暂停界面的动画效果展示呢?先说一下:CCDirector的一个函数pause(),如果调用了这个函数,那么整一个游戏的效果都会被暂停,不管是schedule,还是各种动画效果(包括按钮的点击效果)。这样的话,如果我们的暂停界面的按钮是有点击效果的话,那么这个效果就不会显示出来,这时候该怎么办呢?游戏一般都是靠
- cocos2d-x游戏主要逻辑和结构
振星
cocos2dx
在Cocos2d-x中开发游戏的主要逻辑和结构是:先创建场景,在场景上添加一层或多层,然后可以在指定层上添加精灵、菜单、文字等,可以为精灵、文字执行某个动作(或者移动),检测玩家触屏事件,开启任务调度执行碰撞检测和更新数据,通过导演类管理和切换场景等等。(1)导演(CCDirector)在cocos2d-x引擎中,导演类CCDirector是个单例,这里主要用来管理和显示场景的,还提供一些常用的属
- cocos2d中精灵的各类动作
翊飞
cocos2d-x
【二】:函数1.常用动作操作函数[1]:runAction("action对象");//执行一个action动作对象[2]:CCDirector::sharedDirector()->getActionManger()->pauseTarget("对象");//暂停一个对象的动作[3]:CCDirector::sharedDirector()->getActionManager()->pauseA
- COCOS2D-X之不断变化的数字效果Demo
源码剖析之COCOS2D-X
COCOS2D-X基础教程
我们在玩"天天爱消除"或"天天连萌"的时候,每玩一盘后会有一个游戏结果界面,上面有一个显示所得分数的效果.今天我们这个Demo就是要实现与之相近的效果.一、我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添加如下代码:CCSizeszWin=CCDirector::sharedDirector()->getVisibleSize();CCLabelAtlas*
- cocos2d-x利用CCClippingNode实现滚动字幕
hello白白
cocos2dx
直接上代码,这是封装好了的layer,可以直接调用//白白原创boolTestLayer::init(){CCSizesize=CCDirector::sharedDirector()->getVisibleSize();//创建要显示的文字text=CCLabelTTF::create("text\nbaibai\nfdffdd\nzimu\nhaha\njahjahjkd\njhahaj\n"
- cocos2dx之场景切换
神杀中龙
C/C++Luacocos2dx
适用版本cocos2dx2.2.5--切换到下一场景localfunctionNextScene(scene)runningScene=CCDirector:sharedDirector():getRunningScene()localtrans=CCTransitionFade:create(1.5,scene)ifrunningScene==nilthenCCDirector:sharedDi
- 一个cocos2dx 游戏解读(SceneStart)
Moon_2009
cocos2dxeclipsecocos2dx游戏c++
初始化代码SceneStart::SceneStart(){CCScene::init();//取得屏幕大小CCSizesize=CCDirector::sharedDirector()->getWinSize();CCSizedesignSize=CCSizeMake(800,480);floatscale=size.height/480;//背景图CCSprite*background=CCS
- COCOS2D-X之圆形进度条的一个简单Demo
源码剖析之COCOS2D-X
COCOS2D-X基础教程
这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习一、我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添加如下代码:CCSprite*pSprite=CCSprite::create("A.png");//暂且说是蓝色背景吧CCSizeszWin=CCDirector::sharedDirector()-
- cocos2dx-让CCLayer随着英雄移动而移动
weixin_30867015
voidHelloWorld::setCenterOfScreen(CCPointp){CCSizes=CCDirector::sharedDirector()->getWinSize();intx=MAX(p.x,s.width/2);inty=MAX(p.y,s.height/2);x=min(x,map->getMapSize().width*map->getTileSize().width
- cocos2d-x过程动作CCProgressTo示例学习笔记
somestill
Cocos2d-x学习笔记
////SpriteProgressToRadial////------------------------------------------------------------------voidSpriteProgressToRadial::onEnter(){SpriteDemo::onEnter();CCSizes=CCDirector::sharedDirector()->getWin
- cocos2d-x学习tests程序流程
大掌教
cocos2d-x游戏开发cocos2d-xCocos2d-x游戏开发
boolAppDelegate::applicationDidFinishLaunching(){//initializedirectorCCDirector*pDirector=CCDirector::sharedDirector();pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView());//enableHighResourceMode
- 【Cocos2d-x】截图分享功能
linchaolong
AndroidCocosCocos2d-x游戏开发总结
Cocos2d-x截图实现#include"cocos2d.h"USING_NS_CC;//设置纹理宽、高、像素质量CCRenderTexture*tx=CCRenderTexture::create(CCDirector::sharedDirector()->getWinSize().width,CCDirector::sharedDirector()->getWinSize().height,
- linux系统服务器下jsp传参数乱码
3213213333332132
javajsplinuxwindowsxml
在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了
- Spring 注解区别以及应用
BlueSkator
spring
1. @Autowired
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。
2. @Qualifier
当spring中存在至少一个匹
- printf和sprintf的应用
dcj3sjt126com
PHPsprintfprintf
<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);
printf('th
- config.getInitParameter
171815164
parameter
web.xml
<servlet>
<servlet-name>servlet1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>str</param-name>
- Ant标签详解--基础操作
g21121
ant
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。 project:每个构建文
- [简单]代码片段_数据合并
53873039oycg
代码
合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。
代码如下:
- java 通信技术
云端月影
Java 远程通信技术
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来
- string与StringBuilder 性能差距到底有多大
aijuans
之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!
由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!
- 今天碰到 java.util.ConcurrentModificationException 异常
antonyup_2006
java多线程工作IBM
今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下:
Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
结果运行报Con
- PL/SQL的类型和JDBC操作数据库
百合不是茶
PL/SQL表标量类型游标PL/SQL记录
PL/SQL的标量类型:
字符,数字,时间,布尔,%type五中类型的
--标量:数据库中预定义类型的变量
--定义一个变长字符串
v_ename varchar2(10);
--定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
- Mockito:一个强大的用于 Java 开发的模拟测试框架实例
bijian1013
mockito单元测试
Mockito框架:
Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测
- 精通Oracle10编程SQL(10)处理例外
bijian1013
oracle数据库plsql
/*
*处理例外
*/
--例外简介
--处理例外-传递例外
declare
v_ename emp.ename%TYPE;
begin
SELECT ename INTO v_ename FROM emp
where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
exceptio
- 【Java】Java执行远程机器上Linux命令
bit1129
linux命令
Java使用ethz通过ssh2执行远程机器Linux上命令,
封装定义Linux机器的环境信息
package com.tom;
import java.io.File;
public class Env {
private String hostaddr; //Linux机器的IP地址
private Integer po
- java通信之Socket通信基础
白糖_
javasocket网络协议
正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤:
①创建Socket;
②打开连接到Socket的输入输出流;
④按照一定的协议对Socket进行读写操作;
④关闭Socket。
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc
- angular.bind
boyitech
AngularJSangular.bindAngularJS APIbind
angular.bind 描述: 上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。 使用方法: angular.bind(se
- java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class KickOutBadGuys {
/**
* 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
* Maybe you can find out
- Redis.conf配置文件及相关项说明(自查备用)
Kai_Ge
redis
Redis.conf配置文件及相关项说明
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
- [强人工智能]实现大规模拓扑分析是实现强人工智能的前奏
comsci
人工智能
真不好意思,各位朋友...博客再次更新...
节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心....
但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大...
- 记录一些常用的函数
dai_lm
java
public static String convertInputStreamToString(InputStream is) {
StringBuilder result = new StringBuilder();
if (is != null)
try {
InputStreamReader inputReader = new InputStreamRead
- Hadoop中小规模集群的并行计算缺陷
datamachine
mapreducehadoop并行计算
注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。
-----------------------------------------------------------------
- 小学4年级英语单词背诵第二课
dcj3sjt126com
englishword
egg 蛋
twenty 二十
any 任何
well 健康的,好
twelve 十二
farm 农场
every 每一个
back 向后,回
fast 快速的
whose 谁的
much 许多
flower 花
watch 手表
very 非常,很
sport 运动
Chinese 中国的
- 自己实践了github的webhooks, linux上面的权限需要注意
dcj3sjt126com
githubwebhook
环境, 阿里云服务器
1. 本地创建项目, push到github服务器上面
2. 生成www用户的密钥
sudo -u www ssh-keygen -t rsa -C "
[email protected]"
3. 将密钥添加到github帐号的SSH_KEYS里面
3. 用www用户执行克隆, 源使
- Java冒泡排序
蕃薯耀
冒泡排序Java冒泡排序Java排序
冒泡排序
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 10:40:14 星期二
http://fanshuyao.iteye.com/
- Excle读取数据转换为实体List【基于apache-poi】
hanqunfeng
apache
1.依赖apache-poi
2.支持xls和xlsx
3.支持按属性名称绑定数据值
4.支持从指定行、列开始读取
5.支持同时读取多个sheet
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java
比如:
Str
- 3个处于草稿阶段的Javascript API介绍
jackyrong
JavaScript
原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email
本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.
1) Web Alarm API
&
- 6个创建Web应用程序的高效PHP框架
lampcy
Web框架PHP
以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐:
1. CakePHP
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。
2. CodeIgniter
CodeIgniter是一个非常小且功能强大的PHP框架,适合需
- 评"救市后中国股市新乱象泛起"谣言
nannan408
首先来看百度百家一位易姓作者的新闻:
三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。
首先,中国股市这两天
- 页面全屏遮罩的实现 方式
Rainbow702
htmlcss遮罩mask
之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就
- 关于angularjs的点滴
tntxia
AngularJS
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。
这里我们来简单的探讨一下它的应用。
首先使用Angularjs我
- Nutz--->>反复新建ioc容器的后果
xiaoxiao1992428
DAOmvcIOCnutz
问题:
public class DaoZ {
public static Dao dao() { // 每当需要使用dao的时候就取一次
Ioc ioc = new NutIoc(new JsonLoader("dao.js"));
return ioc.get(