zoukankan      html  css  js  c++  java
  • Cocos2d入门--3--向量的应用

    小球向一个方向持续运动的Demo

    HelloWorldScene.h

    ......
    //设置一个protected的属性
    protected:
        cocos2d::Vec2 _vec;
    ......

    HelloWorldScene.cpp

    //这个是通过随机数设置向量的方向
    _vec.set(random(-0.1f, 1.0f), random(-1.0f, 1.0f));
    //通过normalize这个标准化函数,能够使得向量的大小为1
    _vec.normalize();
    
    auto dot = DrawNode::create();
    
    dot -> drawDot(Vec2(0, 0), 5, Color4F(1.0f,1.0f,1.0f,1.0f));
    addChild(dot);
    
    dot -> setPosition(origin.x + 
    visibleSize.width/2,origin.y + visibleSize.height/2);
    
    schedule([dot,this,origin,visibleSize](float f){
        Vec2 nowVec = dot -> getPosition();
        //判断小球碰壁反弹运动
        if (nowVec.x<origin.x || nowVec.x>origin.x+visibleSize.width) {
            _vec.x *= -1;
        }
        if (nowVec.y<origin.y || nowVec.y>origin.y+visibleSize.height) {
            _vec.y *= -1;
        }
        dot->setPosition(nowVec+_vec*10);
    }, "Test");

     
     
     
  • 相关阅读:
    316. 去除重复字母
    331. 验证二叉树的前序序列化
    225. 用队列实现栈
    197. 上升的温度
    178. 分数排名
    177. 第N高的薪水
    小程序导航
    css3、js动画特效
    背景透明css
    h5新标签IE8不兼容怎么办?
  • 原文地址:https://www.cnblogs.com/goodboy-heyang/p/4925118.html
Copyright © 2011-2022 走看看