zoukankan      html  css  js  c++  java
  • cocos creator基础-(十二)预制体、Mask、Layout 、ScorllView组件使用

    1: 理解预制体使用;
    2: 掌握Mask组件做圆形图像和裁剪;
    3: 掌握Layout组件做布局;
    4: 掌握滚动列表的使用和代码加入选项到滚动列表


    预制体

    1: 制作预制体: 将节点拖入到assets文件夹下;
    2: 加载预知体: 代码加载(统一在资源加载时讲解)与手动绑定;
    3: 预制体对象实例化: cc.instantiate;

    Mask组件

    1: Mask组件是提供viewport功能的一个组件,你可以想象通过一个窗口去看外面的世界,
      只能看到这个窗口大小的视区;
    2: Mask的形状: 矩形, 圆形, 图片的Alpha值来做mask;
    3: 一个节点加上Mask组件后,它和它的孩子在这个范围内的会显示,不在这个范围内的不
      显示;

    cc.Layout

    1: 布局组件
      有些物体的布局,可以不用我们写死位置,可以根据内容来排版
      比如垂直排版, 水平排版等,这样的话,就是不用我们自己调整给我们排好非常方便;
    2: 布局组件的面板属性:
      ResizeMode:
      Node不会对子节点和容器进行大小缩放
      Child: 对子节点的大小进行缩放;
      CONTAINER:对容器的大小进行缩放; 常用的
      布局类型: 水平,垂直, GRID布局

    cc.ScrollView

    1: 滚动列表的主要结构:
      root->view(Mask裁剪超出范围的内容) ---> content(Layout)负责内容排版;
    2: 滚动列表的每个选项:
      root(w, h,制定大小,好给Layout用)
    3: 代码里面使用cc.ScrollView
      step1: 将选项做成预制体
      step2: 在代码里面new 出选项预制体,加入到content节点下;
     
    cc.Class({
        extends: cc.Component,
    
        properties: {
            // foo: {
            //    default: null,      // The default value will be used only when the component attaching
            //                           to a node for the first time
            //    url: cc.Texture2D,  // optional, default is typeof default
            //    serializable: true, // optional, default is true
            //    visible: true,      // optional, default is true
            //    displayName: 'Foo', // optional
            //    readonly: false,    // optional, default is false
            // },
            // ...
            item_prefab: {
                type: cc.Prefab,
                default: null,
            },
    
            opt_item_prefab: {
                type: cc.Prefab,
                default: null,
            },
    
            scrollview: {
                type: cc.ScrollView,
                default: null,
            },
        },
    
        // use this for initialization
        onLoad: function () {
            var item = cc.instantiate(this.item_prefab);
            this.node.addChild(item);
    
    
            for(var i = 0; i < 10; i ++) {
                var opt_item = cc.instantiate(this.opt_item_prefab);
                this.scrollview.content.addChild(opt_item);
            }
        },
    
        // called every frame, uncomment this function to activate update callback
        // update: function (dt) {
    
        // },
    });
  • 相关阅读:
    PHP
    单引号和双引号的区别和效率问题
    SFDC 401认证准备及考试
    SFDC 401 最新考试真题
    3 report formats of SFDC
    HTML输入框点击内容消失
    RDD的转换操作(续)
    RDD的转换操作
    SparkContext和RDD的说明
    集群模式相关概念
  • 原文地址:https://www.cnblogs.com/orxx/p/10447325.html
Copyright © 2011-2022 走看看