• 全国 [切换]
  • 二维码
    错改网

    手机WAP版

    手机也能找商机,信息同步6大终端平台!

    微信小程序

    微信公众号

    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

    由系统组成的系统

    放大字体  缩小字体 发布日期:2020-01-18 22:19:55   浏览次数:1201  发布人:55d3****  IP:117.173.23.***  评论:0
    导读

    书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 目录4.5 由系统组成的系统1、由系统组成的系统我们已经知道如何实现粒子对象, 也学会了如何实现粒子对象组成的系统,这个系统称为“粒子系统”,粒子系统就是由一系列独立对象组成的集合。 但粒子系统本身不也是一个对象? 如果粒子系统也是个对象,我们可以让这些粒子系统对象

    书名:代码本色:用编程模拟自然系统
    作者:Daniel Shiffman
    译者:周晗彬
    ISBN:978-7-115-36947-5
    目录

    4.5 由系统组成的系统

    1、由系统组成的系统

    • 我们已经知道如何实现粒子对象,
    • 也学会了如何实现粒子对象组成的系统,这个系统称为“粒子系统”,粒子系统就是由一系列独立对象组成的集合。
    • 但粒子系统本身不也是一个对象?
      如果粒子系统也是个对象,我们可以让这些粒子系统对象组成一个集合,产生一个由系统组成的系统。

    2、示例

    示例代码4-4 由系统组成的系统

    ArrayList<ParticleSystem> systems; void setup() { size(640,360); systems = new ArrayList<ParticleSystem>(); } void draw() { background(255); for (ParticleSystem ps: systems) { ps.run(); ps.addParticle(); } fill(0); text("click mouse to add particle systems",10,height-30); } void mousePressed() { systems.add(new ParticleSystem(1,new PVector(mouseX,mouseY))); }

    一旦鼠标被点击,一个新的粒子系统对象将会被创建并放入ArrayList中.

    ParticleSystem .pde

    class ParticleSystem { ArrayList<Particle> particles; // An arraylist for all the particles PVector origin; // An origin point for where particles are birthed ParticleSystem(int num, PVector v) { particles = new ArrayList<Particle>(); // Initialize the arraylist origin = v.get(); // Store the origin point for (int i = 0; i < num; i++) { particles.add(new Particle(origin)); // Add "num" amount of particles to the arraylist } } void run() { for (int i = particles.size()-1; i >= 0; i--) { Particle p = particles.get(i); p.run(); if (p.isDead()) { particles.remove(i); } } } void addParticle() { particles.add(new Particle(origin)); } // A method to test if the particle system still has particles boolean dead() { if (particles.isEmpty()) { return true; } else { return false; } } }

    3、运行结果






    不推荐电脑端访问(用户少)
    请微信扫一扫,查看完整信息(记得微信收藏)
     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 55d3**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0 条相关评论
     

    (c)2008-现在 cuogai.com All Rights Reserved.