精华内容
下载资源
问答
  • 这不上周来通知了暂时先把roblox放下,继续用cocos来做游戏。 所以就有了今天的这篇博客。本来是不打算发这篇博客,因为里面有很多东西都是我借鉴了别的大佬的包括他的一些代码。但想想还是发出来算了,就当是我的一...

    距离上次跟新已经过了一个多月了,这段时间一直在用roblox做Demo,所以就一直没有跟新。这不上周来通知了暂时先把roblox放下,继续用cocos来做游戏。
    所以就有了今天的这篇博客。本来是不打算发这篇博客,因为里面有很多东西都是我借鉴了别的大佬的包括他的一些代码。但想想还是发出来算了,就当是我的一个记录贴算了。文章结尾处我会标注大佬的博客地址。话不多直接开整。

    第一步:我们需要做的就是监听触摸事件,如图所示在这里插入图片描述
    第二步:获取触摸事件的参数在这里插入图片描述这里的touches其实就是获取有几个手指同时点击了屏幕。

    第三步:通过touches的长度来判断我们后面需要进行事件处理在这里插入图片描述这里我需要重点提醒一下千万不要将坐标转换弄错了。

    今天就没这边博客有点水了,没有太多的干或以及具体计算过程,不过各位看官可以去看下面这篇,因为他又详细的计算过程。
    https://blog.csdn.net/voidinit/article/details/107197818
    下面这个地址是我自己的博客地址蹭个流量
    https://www.dadadatou.com/

    展开全文
  • cocos2d-x精灵的放大缩小

    千次阅读 2013-10-02 21:33:02
    ///////////////////////////////////////////////////////////////////////创建鱼放大缩小的菜单 CCMenuItemFont *pScaleItem=CCMenuItemFont::itemFromString("scale",this,menu_selector(fish::menuScaleFish)...

    过程描述

    声明菜单函数:

    virtual void menuScaleFish(CCObject *pSender);

    定义菜单函数:

    void fish::menuScaleFish(CCObject *pSender)
    {
    CCActionInterval *actionTo=CCScaleTo::actionWithDuration(2,0.5f);//变为原来的0.5倍
    CCActionInterval *actionBy=CCScaleBy::actionWithDuration(2,2.0f);//按现在的2倍变化
    CCActionInterval*  actionByBack = actionBy->reverse();//打回原形
    //newfish->runAction(actionTo);
    newfish->runAction(CCSequence::actions(actionBy,actionByBack,NULL));
    }

    将菜单添加到场景

    ///创建鱼放大缩小的菜单
    CCMenuItemFont *pScaleItem=CCMenuItemFont::itemFromString("scale",this,menu_selector(fish::menuScaleFish));
    pScaleItem->setColor(ccGREEN);
    CC_BREAK_IF(!pScaleItem);
    pScaleItem->setPosition(ccp(40,CCDirector::sharedDirector()->getWinSize().height-40));

    展开全文
  • 如下为cocos2dx lua实现的按钮放大缩小功能,使用起来非常简单: local function buttonEvent(sender,eventType) if eventType == ccui.TouchEventType.began then local scale = cc.ScaleTo:create(1,0.8) ...
    

    如下为cocos2dx lua实现的按钮放大缩小功能,使用起来非常简单:

    local function buttonEvent(sender,eventType)
    	if eventType == ccui.TouchEventType.began then 
    		local scale = cc.ScaleTo:create(1,0.8)
     		local ease_elastic = cc.EaseElasticOut:create(scale)
     		sender:runAction(ease_elastic)      
            
    	elseif eventType == ccui.TouchEventType.ended then
                	local scale = cc.ScaleTo:create(1,1)
      		local ease_elastic = cc.EaseElasticOut:create(scale)
      		sender:runAction(ease_elastic)
         
    	elseif eventType == ccui.TouchEventType.canceled then
                	local scale = cc.ScaleTo:create(1,1)
      		local ease_elastic = cc.EaseElasticOut:create(scale)
      		sender:runAction(ease_elastic)
    	end
    end 


       

    
    展开全文
  • #include "HelloWorldScene.h" #include "MyLayer.h" ...using namespace cocos2d; CCScene* HelloWorld::scene() {  CCScene * scene = NULL;  do   {  // 'scene' is an aut
    #include "HelloWorldScene.h"
    #include "MyLayer.h"
    using  namespace  cocos2d;
    CCScene* HelloWorld::scene()
    {
         CCScene * scene = NULL;
         do 
         {
             // 'scene' is an autorelease object
             scene = CCScene::create();
             CC_BREAK_IF(! scene);
             // 'layer' is an autorelease object
             HelloWorld *layer = HelloWorld::create();
             CC_BREAK_IF(! layer);
             // add layer as a child to scene
             scene->addChild(layer);
         while  (0);
         // return the scene
         return  scene;
    }
    // on "init" you need to initialize your instance
    bool  HelloWorld::init()
    {
         bool  bRet =  false ;
         do 
         {
             //
             // super init first
             //
          CC_BREAK_IF(! CCLayer::init());
          CCSize isize = CCDirector::sharedDirector()->getVisibleSize();
       //定义缩小精灵
       CCSprite *pSprite = CCSprite::create( "grossinis_sister1.png" );
       pSprite->setPosition(ccp(50,isize.height / 2));
       pSprite->setScale(2);
       this ->addChild(pSprite);
       //定义放大精灵
       CCSprite *pSpriteBig = CCSprite::create( "grossinis_sister1.png" );
       pSpriteBig->setPosition(ccp(400,isize.height / 2));
       pSpriteBig ->setScale(2);
       this ->addChild(pSpriteBig);
       //精灵缩小动作
       CCScaleTo *pScaleTo = CCScaleTo::create(3,1,1);
       //精灵放大动作
       CCScaleBy *pScaleBy = CCScaleBy::create(3,2,1);
       pSprite->runAction(pScaleTo);
       pSpriteBig->runAction(pScaleBy);
      
      
    //  this->addChild(nineGile);
             bRet =  true ;
         while  (0);
         return  bRet;
    }
    void  HelloWorld::touchDown(CCObject*pObject,CCControlEvent event)
    {
      CCLOG( "Touch Down" );
    }
    void  HelloWorld::menuCloseCallback(CCObject* pSender)
    {
         // "close" menu item clicked
        // CCDirector::sharedDirector()->end();
      CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInT::create(3.0,CMyLayer::scence()));
    }

     

     

    人物移动

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
      #include  "HelloWorldScene.h"
    #include "MyLayer.h"
    using  namespace  cocos2d;
    CCScene* HelloWorld::scene()
    {
         CCScene * scene = NULL;
         do 
         {
             // 'scene' is an autorelease object
             scene = CCScene::create();
             CC_BREAK_IF(! scene);
             // 'layer' is an autorelease object
             HelloWorld *layer = HelloWorld::create();
             CC_BREAK_IF(! layer);
             // add layer as a child to scene
             scene->addChild(layer);
         while  (0);
         // return the scene
         return  scene;
    }
    // on "init" you need to initialize your instance
    bool  HelloWorld::init()
    {
         bool  bRet =  false ;
         do 
         {
             //
             // super init first
             //
          CC_BREAK_IF(! CCLayer::init());
          CCSize isize = CCDirector::sharedDirector()->getVisibleSize();
       //定义精灵   
       CCSprite *pSprite = CCSprite::create( "grossinis_sister1.png" );
       pSprite->setPosition(ccp(100,isize.height / 2));
    //  pSprite->setScale(2);
       this ->addChild(pSprite);
      //定义抛物线结构体    
      ccBezierConfig bezier;
      bezier.controlPoint_1 = ccp(50,0);
      bezier.controlPoint_2 = ccp(400,250);
      bezier.endPosition = ccp(3000,50);
      //创建移动行为
      CCBezierBy *pMoveTo = CCBezierBy::create(4,bezier);
      pSprite->runAction(pMoveTo);
      this ->scheduleUpdate();
             bRet =  true ;
         while  (0);
         return  bRet;
    }
    void  HelloWorld::touchDown(CCObject*pObject,CCControlEvent event)
    {
      CCLOG( "Touch Down" );
    }
    void  HelloWorld::menuCloseCallback(CCObject* pSender)
    {
         // "close" menu item clicked
        // CCDirector::sharedDirector()->end();
      CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInT::create(3.0,CMyLayer::scence()));
    }

     

    人物重复运动

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
      // on "init" you need to initialize your instance
    bool  HelloWorld::init()
    {
         bool  bRet =  false ;
         do 
         {
             //
             // super init first
             //
          CC_BREAK_IF(! CCLayer::init());
          CCSize isize = CCDirector::sharedDirector()->getVisibleSize();
       CCSprite *pSprite = CCSprite::create( "grossinis_sister1.png" );
       pSprite->setPosition(ccp(100,isize.height / 2));
    //  pSprite->setScale(2);
       this ->addChild(pSprite);
       //定义跳跃事件  
      CCJumpBy *pJump = CCJumpBy::create(4,ccp(50,1),100,1);
    //重复执行跳跃
      CCRepeatForever *pForever = CCRepeatForever::create(pJump);
      pSprite->runAction(pForever);
             bRet =  true ;
         while  (0);
         return  bRet;
    }

     

    多个动作组合

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // on "init" you need to initialize your instance
    bool  HelloWorld::init()
    {
         bool  bRet =  false ;
         do 
         {
             //
             // super init first
             //
          CC_BREAK_IF(! CCLayer::init());
          CCSize isize = CCDirector::sharedDirector()->getVisibleSize();
       CCSprite *pSprite = CCSprite::create( "grossinis_sister1.png" );
       pSprite->setPosition(ccp(100,isize.height / 2));
    //  pSprite->setScale(2);
       this ->addChild(pSprite);
      //跳跃运动   
      CCJumpBy *pJump = CCJumpBy::create(4,ccp(50,1),100,1);
      //跑运动
      CCMoveBy *pMove = CCMoveBy::create(5,ccp(220,110));
      //将动作组合,以NULL结束
      CCAction *pAction = CCSequence::create(pJump,pMove,NULL);
    //执行组合动作
      pSprite->runAction(pAction);
             bRet =  true ;
         while  (0);
         return  bRet;
    }
    展开全文
  • 启动XCode,点击“File\New Project...”,选择cocos2dApplicationtemplate,并且把工程命名为TestBackground. 接着你需要一张图片作为你的游戏的背景地图,我是从网上找了一张480*320的图片(正好和iphone的横向...
  • 在编写程序的时候我们常常使用self.scale来让我们使用的图片放大缩小,但这种变化并没有真正意义上让我们的图片的大小发生改变,当我们要对这种图片进行点击或其他操作的时候常常会发生错误,这里我使用另外一种...
  • 放大缩小镜效果 原理:根据缩放比例,判断镜面范围内的点实际应该显示哪个点的颜色值,问题就变成怎么根据缩放比例进行坐标转换! 顶点着色器代码不用修改。 片元着色器代码如下: CCProgram fs %{ precision high...
  • 1): 判断点击时是单指还是双指,然后再move中进行移动放大缩小的操作  注意: ccTouchesBegan()和ccTouchesMoved()函数,它的意思是点击几次,就有几次ccTouchesBegan事件,并且当你点击,但没有进行移动时,...
  • 用到的知识: ***To: 意味着运动到指定的位置。 ***By:意味着运动到按照指定癿 x、y 增量的位置。(x、y 可以是负值) 移动到 – CCMoveTo 移动– CCMoveBy 跳跃到 – CCJumpTo ...放大到 – CCScaleTo
  • ipad上,可以用五指抓取,把应用关闭,相当于home的作用,但是如果是抓取缩小,但不完全关闭,再放大,那么应用就会恢复。  但是在cocos2dx的游戏应用中,有时就会无响应,应用在跑,但是点击什么都没反应...
  • 效果如下: 1.制作一个prefab,然后生成10个加入到一个空节点上,考虑到如果生成的关卡数很大的话,加载prefab的时候肯定会出现卡顿效果,所以在网上找了一个类似分帧加载的方法,每个prefab位置计算可以自己算排列...
  • height: 44px; margin-top: 8px; margin-left: 8px; display: block; position: absolute; animation: scale 1.5s linear ... } } 思路:定位环形图片到火星图片上层,然后写环形动态效果 图片效果,环形放大缩小
  • //6、放大缩小 CCScaleTo *scaleBy1 = [CCScaleTo actionWithDuration:2 scale:2.0f]; CCScaleTo *scaleTo1 = [CCScaleTo actionWithDuration:2 scale:1.0f]; CCSequence *scaleSequence = [CCSequence actions:...
  • CCLabelTTF* pLabel =CCLabelTTF::create("双点触摸之精灵的缩小放大","Arial", 24); // ask director the window size CCSize size =CCDirector::sharedDirector()->getWinSize(); pSprite =CCSprite::...
  • //6、放大缩小 CCScaleTo *scaleBy1 = [CCScaleTo actionWithDuration:2 scale:2.0f]; CCScaleTo *scaleTo1 = [CCScaleTo actionWithDuration:2 scale:1.0f]; CCSequence *scaleSequence = [CCSequence actions:...
  • 最近在做一个项目,需要用到拖动图片,旋转效果,两点放大缩小。首先拖动图片布局,主要就是一个button做测试 android:orientation="vertical" android:layout_width="fill_parent
  • 使用hammer.js 可以手势控制同时进行旋转 拖拽 放大缩小功能, 解决官网移动旋转复位效果, 重点解决官网旋转rotate demo旋转乱跳bug 官网:http://hammerjs.github.io/ (官网的demo真是坑 又是复位又是旋转抖动的....
  • 地图放大缩小,以两指中间的点为锚点  该代码使用插件Easy Touch ,DoTween using DG.Tweening; using UnityEngine; using HedgehogTeam.EasyTouch; public class MapFixedPointZoom : MonoBehaviour { ...
  • 放大缩小看似简单,实际上还是比较复杂的。所以专门拿出来说明。 缩放这块,主要就是处理m_pDoc->m_scalefactor voidCGreenOpenPaintView::OnButtonZoomin() { m_pDoc->ScaleFactorZoomIn(); OnUpdate(NULL,0...
  • cocos2dx按钮放大

    2014-07-28 19:27:52
    void CCMenuItemSprite::setSelectedImage(CCNode* pImage) {  if (pImage != m_pNormalImage)  {  if (pImage)  {  addChild(pImage, 0, kSelectedTag);
  • 详情请参考:【Software Myzone】:[url]http://www.firedragonpzy.com.cn/index.php/archives/2684[/url]
  • 我用的是cocos2d-x-3.7.1,通过CCGLViewImpl.cpp中的GLViewImpl类的create函数来更改窗口分辨率为320*480 GLViewImpl* GLViewImpl::create(const std::string& viewName) { auto ret = new (std::nothrow) ...
  • 先看看我们之前所写的代码1)添加权限:AndroidManifest.xml中必须使用了许可"android.permission.INTERNET"2)使用了一个WebView组件android:id="@+id/wv"android:layout_width="fill_parent"android:layout_height=...
  • Cocos2dx 3.2 之实现精灵图片放大功能

    千次阅读 2014-08-06 23:53:06
    cocos2d3.2之网格特效简要讲解
  • cocos

    2017-06-23 11:59:14
    这些变化包括位置、旋转、放大缩小和运动等。 动作:CCAction,主要是配合精灵使用,将精灵绑定相应动作。 镜头:CCCamera,每一个结点(CCNode)都需要使用CCCamera。当节点发生缩放、旋转和位置变化,都需要...
  • var flag = true,//状态true为正常的状态,false为放大的状态 imgH,//图片的高度 imgW,//图片的宽度 img = document.getElementsByTagName('img')[0];//图片元素 img.onclick = function(){ //图片点击事件 ...
  • 旋转放大缩小位移 Transform transform:rotate(30deg);//旋转30度 transform:translate(50px,100px) 把元素从左侧移动 50 像素,从顶端移动 100 像素 transform:scale(2,4) 把宽度转换为原始尺寸的 2 倍,把高度转换...
  • 以上简单的总结了: 移动,放大缩小,跳动、渐入渐出、闪烁一些常用的动画,但这是不是全部,动画有好多,还有一些特定的比如龙骨导出的特有文件,等等。 关于一些理论知识可以去下面网址看看,一定要去哦。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,606
精华内容 1,042
关键字:

cocos放大缩小