- 【三】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,
- ASM系列六 利用TreeApi 添加和移除类成员
lijingyao8206
jvm动态代理ASM字节码技术TreeAPI
同生成的做法一样,添加和移除类成员只要去修改fields和methods中的元素即可。这里我们拿一个简单的类做例子,下面这个Task类,我们来移除isNeedRemove方法,并且添加一个int 类型的addedField属性。
package asm.core;
/**
* Created by yunshen.ljy on 2015/6/
- Springmvc-权限设计
bee1314
springWebjsp
万丈高楼平地起。
权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。
目标:
1.实现权限的管理(CRUD)
2.实现部门管理 (CRUD)
3.实现人员的管理 (CRUD)
4.实现部门和权限
- 算法竞赛入门经典(第二版)第2章习题
CrazyMizzz
c算法
2.4.1 输出技巧
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++)
printf("%d\n", i);
return 0;
}
习题2-2 水仙花数(daffodil
- struts2中jsp自动跳转到Action
麦田的设计者
jspwebxmlstruts2自动跳转
1、在struts2的开发中,经常需要用户点击网页后就直接跳转到一个Action,执行Action里面的方法,利用mvc分层思想执行相应操作在界面上得到动态数据。毕竟用户不可能在地址栏里输入一个Action(不是专业人士)
2、<jsp:forward page="xxx.action" /> ,这个标签可以实现跳转,page的路径是相对地址,不同与jsp和j
- php 操作webservice实例
IT独行者
PHPwebservice
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serve
- Windows下使用Vagrant安装linux系统
_wy_
windowsvagrant
准备工作:
下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
下载需要使用的 box :
官方提供的范例:http://files.vagrantup.com/precise32.box
还可以在 http://www.vagrantbox.es/
- 更改linux的文件拥有者及用户组(chown和chgrp)
无量
clinuxchgrpchown
本文(转)
http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/
http://ydlmlh.iteye.com/blog/1435157
一、基本使用:
使用chown命令可以修改文件或目录所属的用户:
命令
- linux下抓包工具
矮蛋蛋
linux
原文地址:
http://blog.chinaunix.net/uid-23670869-id-2610683.html
tcpdump -nn -vv -X udp port 8888
上面命令是抓取udp包、端口为8888
netstat -tln 命令是用来查看linux的端口使用情况
13 . 列出所有的网络连接
lsof -i
14. 列出所有tcp 网络连接信息
l
- 我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”
alafqq
mybatis
最近看了
每一个用mybatis的男纸,你伤不起
原文地址 :http://www.iteye.com/topic/1073938
发表一下个人看法。欢迎大神拍砖;
个人一直使用的是Ibatis框架,公司对其进行过小小的改良;
最近换了公司,要使用新的框架。听说mybatis不错;就对其进行了部分的研究;
发现多了一个mapper层;个人感觉就是个dao;
- 解决java数据交换之谜
百合不是茶
数据交换
交换两个数字的方法有以下三种 ,其中第一种最常用
/*
输出最小的一个数
*/
public class jiaohuan1 {
public static void main(String[] args) {
int a =4;
int b = 3;
if(a<b){
// 第一种交换方式
int tmep =
- 渐变显示
bijian1013
JavaScript
<style type="text/css">
#wxf {
FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#97FF98);
height: 25px;
}
</style>
- 探索JUnit4扩展:断言语法assertThat
bijian1013
java单元测试assertThat
一.概述
JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够
- 【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}
bit1129
gson
如何把如下简单的JSON字符串反序列化为Java的POJO对象?
{"data":{"IM":["MSN","QQ","Gtalk"]}}
下面的POJO类Model无法完成正确的解析:
import com.google.gson.Gson;
- 【Kafka九】Kafka High Level API vs. Low Level API
bit1129
kafka
1. Kafka提供了两种Consumer API
High Level Consumer API
Low Level Consumer API(Kafka诡异的称之为Simple Consumer API,实际上非常复杂)
在选用哪种Consumer API时,首先要弄清楚这两种API的工作原理,能做什么不能做什么,能做的话怎么做的以及用的时候,有哪些可能的问题
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-归并排序
bylijinnan
java
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) {
int[] a={20,1,3,8,5,9,4,25};
mergeSort(a,0,a.length-1);
System.out.println(Arrays.to
- Netty源码学习-CompositeChannelBuffer
bylijinnan
javanetty
CompositeChannelBuffer体现了Netty的“Transparent Zero Copy”
查看API(
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/buffer/package-summary.html#package_description)
可以看到,所谓“Transparent Zero Copy”是通
- Android中给Activity添加返回键
hotsunshine
Activity
// this need android:minSdkVersion="11"
getActionBar().setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- 静态页面传参
ctrain
静态
$(document).ready(function () {
var request = {
QueryString :
function (val) {
var uri = window.location.search;
var re = new RegExp("" + val + "=([^&?]*)", &
- Windows中查找某个目录下的所有文件中包含某个字符串的命令
daizj
windows查找某个目录下的所有文件包含某个字符串
findstr可以完成这个工作。
[html]
view plain
copy
>findstr /s /i "string" *.*
上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string&qu
- 改善程序代码质量的一些技巧
dcj3sjt126com
编程PHP重构
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧: 尽量保持方法简短 尽管很多人都遵
- SharedPreferences对数据的存储
dcj3sjt126com
SharedPreferences简介: &nbs
- linux复习笔记之bash shell (2) bash基础
eksliang
bashbash shell
转载请出自出处:
http://eksliang.iteye.com/blog/2104329
1.影响显示结果的语系变量(locale)
1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:
[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
- Android零碎知识总结
gqdy365
android
1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。
所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高
- HoverTree.Model.ArticleSelect类的作用
hvt
Web.netC#hovertreeasp.net
ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id。HvtIsShow就是文章的显示属性,当为-1是,该条件不产生作用,当为0时,查询不公开显示的文章,当为1时查询公开显示的文章。HvtIsHome则为是否在首页显示。HoverTree系统源码完全开放,开发环境为Visual Studio 2013
- PHP 判断是否使用代理 PHP Proxy Detector
天梯梦
proxy
1. php 类
I found this class looking for something else actually but I remembered I needed some while ago something similar and I never found one. I'm sure it will help a lot of developers who try to
- apache的math库中的回归——regression(翻译)
lvdccyb
Mathapache
这个Math库,虽然不向weka那样专业的ML库,但是用户友好,易用。
多元线性回归,协方差和相关性(皮尔逊和斯皮尔曼),分布测试(假设检验,t,卡方,G),统计。
数学库中还包含,Cholesky,LU,SVD,QR,特征根分解,真不错。
基本覆盖了:线代,统计,矩阵,
最优化理论
曲线拟合
常微分方程
遗传算法(GA),
还有3维的运算。。。
- 基础数据结构和算法十三:Undirected Graphs (2)
sunwinner
Algorithm
Design pattern for graph processing.
Since we consider a large number of graph-processing algorithms, our initial design goal is to decouple our implementations from the graph representation
- 云计算平台最重要的五项技术
sumapp
云计算云平台智城云
云计算平台最重要的五项技术
1、云服务器
云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定、数据更安全、传输更快速、部署更灵活。
特性
机型丰富
通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储、数据库搭建、web服务器搭建等工作;
仅需要几分钟,根据CP
- 《京东技术解密》有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的12月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
12月试读活动回顾:
http://webmaster.iteye.com/blog/2164754
本次技术图书试读活动获奖名单及相应作品如下:
一等奖(两名)
Microhardest:http://microhardest.ite