#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
#include "cocos2d.h"
using namespace cocos2d;
class HelloWorld : public cocos2d::CCLayer
{
CCParticleSystem* particleSystem; //粒子系统
public:
// Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();
// there's no 'id' in cpp, so we recommand to return the exactly class pointer
static cocos2d::CCScene* scene();
// a selector callback
virtual void menuCloseCallback(CCObject* pSender);
void ccTouchesEnded(cocos2d::CCSet* touches,cocos2d::CCEvent* event);
// implement the "static node()" method manually
LAYER_NODE_FUNC(HelloWorld);
};
#endif // __HELLOWORLD_SCENE_H__
#include "HelloWorldScene.h"
USING_NS_CC;
CCScene* HelloWorld::scene()
{
// 'scene' is an autorelease object
CCScene *scene = CCScene::node();
// 'layer' is an autorelease object
HelloWorld *layer = HelloWorld::node();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
this->setIsTouchEnabled(true); //设置可触摸
/////////////////////////////
// 2. add a menu item with "X" image, which is clicked to quit the program
// you may modify it.
// add a "close" icon to exit the progress. it's an autorelease object
CCMenuItemImage *pCloseItem = CCMenuItemImage::itemFromNormalImage(
"CloseNormal.png",
"CloseSelected.png",
this,
menu_selector(HelloWorld::menuCloseCallback) );
pCloseItem->setPosition( ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20) );
// create menu, it's an autorelease object
CCMenu* pMenu = CCMenu::menuWithItems(pCloseItem, NULL);
pMenu->setPosition( CCPointZero );
this->addChild(pMenu, 1);
/////////////////////////////
// 3. add your codes below...
// add a label shows "Hello World"
// create and initialize a label
CCLabelTTF* pLabel = CCLabelTTF::labelWithString("TestTouchFire", "Arial", 24);
// ask director the window size
CCSize size = CCDirector::sharedDirector()->getWinSize();
// position the label on the center of the screen
pLabel->setPosition( ccp(size.width / 2, size.height - 30) );
// add the label as a child to this layer
this->addChild(pLabel, 1);
// add "HelloWorld" splash screen"
// CCSprite* pSprite = CCSprite::spriteWithFile("HelloWorld.png");
// position the sprite on the center of the screen
// pSprite->setPosition( ccp(size.width/2, size.height/2) );
// add the sprite as a child to this layer
// this->addChild(pSprite, 0);
particleSystem = CCParticleFire::node(); // CCParticleFire 节点对象
particleSystem->retain();
particleSystem->setTexture( CCTextureCache::sharedTextureCache()->addImage("fire.png")); //设置贴图
CCPoint p = particleSystem->getPosition(); //取得 点位置
particleSystem->setPosition( CCPointMake(p.x, 100) ); //设置粒子位置
this->addChild(particleSystem,10); //向布景添加 粒子系统
return true;
}
void HelloWorld::ccTouchesEnded(CCSet* touches, CCEvent* event){
CCTouch* touch = (CCTouch*)(touches->anyObject());
CCPoint location = touch->locationInView(touch->view());
location = CCDirector::sharedDirector()->convertToGL(location);
particleSystem->setPosition(location); //设置粒子位置
// this->addChild(particleSystem,10); //向布景添加 粒子系统
}
void HelloWorld::menuCloseCallback(CCObject* pSender)
{
CCDirector::sharedDirector()->end();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
exit(0);
#endif
}
- 大小: 68.8 KB
分享到:
相关推荐
"血液粒子特效"是Unity3D中一种特殊的粒子效果,通常用于模拟角色受伤、战斗场景或其他需要表现出血的场合。它通过粒子系统模拟液体溅射、滴落、扩散等动态行为,可以调整颜色、速度、大小、透明度等参数来实现不同...
"喷水粒子特效Unity可用"这个标题表明我们正在讨论一个专为Unity设计的喷水粒子特效资源,它可以让开发者轻松地在他们的游戏或应用程序中实现逼真的喷水效果。 Unity是一款广泛使用的跨平台游戏开发引擎,支持2D和...
网页动画素材 JS龙卷风粒子特效(抖音资料)网页动画素材 JS龙卷风粒子特效(抖音资料)网页动画素材 JS龙卷风粒子特效(抖音资料)网页动画素材 JS龙卷风粒子特效(抖音资料)网页动画素材 JS龙卷风粒子特效(抖音...
例如,"Unity3d特效粒子 插件 Geometry FX Particles"可能包含了一些基于几何形状的粒子效果,这些特效可能用于创建现代、科幻或者抽象的视觉元素;"Unity3d特效粒子 卡通火焰 Retro Bit FX"则可能专注于提供复古...
在这个特定的场景中,我们关注的是"unity 喷泉粒子特效",这是一个利用Unity引擎的粒子系统创建的视觉效果。 粒子系统是Unity中的一个重要工具,它允许开发者模拟各种自然现象,如火、烟、水、雾等,通过无数微小的...
1. **粒子系统组件**:这是Unity中实现粒子效果的基础,包括发射器(Emitter)、形状(Shape)、模拟(Simulation)和渲染(Rendering)等模块,每个模块都有其特定的属性可以调整。 2. **发射器**:决定粒子如何...
在本文中,我们将深入探讨如何使用Cesium库创建粒子特效,特别是喷泉特效。Cesium是一个强大的开源JavaScript库,专为在Web上呈现3D地理空间数据而设计,它利用WebGL技术提供高性能的3D图形渲染。我们将讨论Cesium中...
粒子效果实现简单火焰特效,资源包包括粒子特效预制体,粒子火焰形状的动画贴图以及制作的材质。(制作时要把场景的光调暗)
在这个场景中,粒子特效可能表现为星星或其他宇宙元素在背景中随机移动,营造出深邃的星空效果,增加用户的沉浸感。这些粒子通常由JavaScript中的数组管理,通过定时器控制它们的位置、速度和行为,以实现动态的动画...
在Unity编辑器中,通过添加“ParticleSystem”组件到游戏对象,我们可以开始创建粒子效果。粒子系统由多个子模块组成,每个模块负责不同的视觉特性,如初始速度、颜色、大小、生命周期等。 在创建喷水枪特效时,...
在Unity游戏引擎中,UI(用户界面)与粒子特效的交互是游戏开发中常见的需求,尤其是在创建具有丰富视觉效果的2D或3D游戏时。本文将深入探讨UI与粒子特效之间的遮挡处理以及如何利用遮罩功能来优化这一过程。 首先...
"Unity 100种粒子特效(包含20个插件).zip"这个资源包显然为开发者提供了一整套丰富的粒子效果和工具,帮助他们在项目中快速实现这些效果。 首先,让我们来深入理解Unity中的粒子系统。Unity粒子系统是一个模拟...
打开这个包,你会看到预先设计好的烟花粒子效果,可以直接在你的项目中导入使用。此外,还有"效果预览.mp4",这是一个视频文件,展示了这二十种烟花效果的实际运行情况,你可以通过观看这个视频来直观地理解每种烟花...
在“Unity粒子特效系列-战争游戏必备 武器-爆炸-火花-粒子效果”中,我们将深入探讨如何利用Unity 2020.3.x版本的粒子系统来创建逼真的战争场景。 粒子系统是Unity引擎中的一个核心组件,它允许开发者模拟各种视觉...
4. **脚本**:可能包含自定义脚本来控制粒子系统的特定行为,比如响应温度变化、与游戏对象的交互,或者根据游戏逻辑动态调整粒子效果。 5. **示例场景**:可能提供了一个预览场景,用于展示水蒸气效果如何在实际...
同时,可以通过编写C#脚本来响应这些事件,进一步定制粒子效果,如调整发射速度或数量,以适应不同物体的大小和速度。 5. **光照和阴影**:水花粒子特效的视觉质量也受到光照和阴影的影响。Unity3D支持实时全局光照...
Unity3D卡通爆炸特效工具包,粒子效果,多种爆炸效果,适合初学者学习使用,可进行编辑出自己的爆炸效果,附带demo场景展示,即导即用,卡通 爆炸 特效 粒子 卡通 爆炸 特效 粒子 卡通 爆炸 特效 粒子 卡通 爆炸 ...
本压缩包“EChart相关demo,饼图,粒子效果.rar”包含了一些ECharts的实例,主要展示了饼图的绘制、json数据的加载以及日历和风场图的粒子效果,非常适合初学者或开发者进行ECharts的学习和实践。 1. **饼图**:...
开发者可以根据自己的需求调整这些参数,使得粒子效果更加符合项目的需求。 5. **材质与光照**:粒子特效可以应用不同的材质,使其在不同光照条件下呈现出不同的视觉效果。例如,金属材质的粒子在光照下可能会有...
7. **Unity3d特效粒子 可爱卡通 FX Quest 特效包 免费更新**:FX Quest可能包含一系列可爱、色彩鲜艳的粒子效果,适合于家庭友好型或者冒险主题的游戏。 8. **Unity3d游戏特效 项目框架 Space Shooter Starter Kit ...