cocos2d js ScrollView的用法

游戏中很多需要用到ScrollView的情况,也就是需要滚动一片区域。这里有两种实现方法,一种是使用cocos studio的方式,第二种是手写代码。先看第一种

第一种记得在设置滚动区域时选取裁剪项。

        var size = cc.winSize;

        //读取json文件
        var root = ccs.uiReader.widgetFromJsonFile(res.listJson);
       this.addChild(root);
       //获取在cocos studio里面设定好的scrollView
        var missionlist = ccui.helper.seekWidgetByName(root, "MissionList");
       //设定垂直朝向滚动
        missionlist.setDirection(ccui.ScrollView.DIR_VERTICAL);
        missionlist.setTouchEnabled(true);
        missionlist.setBounceEnabled(true);
        missionlist.setVisible(true);
        //设置大小
        missionlist.setSize(cc.size(960, 400));
        //设置可以滚动区域
        var len = 9;
        missionlist.setInnerContainerSize(cc.size(960, 80* len));
        missionlist.y = size.height/2;
        missionlist.x = size.width/2;
        missionlist.setAnchorPoint(cc.p(0.5,0.5));
       //设置滚动的项目
        for(var i = 0; i < len; i++){
	        var sprite = new cc.Sprite(res.item_png);
	        missionlist.addChild(sprite);
	        sprite.x = missionlist.width/2;
	        sprite.y = missionlist.getInnerContainerSize().height + 40 - (i+1)*80;
	        sprite.setAnchorPoint(cc.p(0.5,0.5));
        }
         missionlist.jumpToTop();
</pre><pre name="code" class="javascript">第二种,手写代码
<p><pre name="code" class="javascript">       varlistView = ccui.ScrollView.create();
        listView.setDirection(ccui.ScrollView.DIR_VERTICAL);
        listView.setTouchEnabled(true);
        listView.setBounceEnabled(true);
        listView.setSize(cc.size(960, 400));
        listView.x = size.width/2;
        listView.y = size.height/2;
        listView.setAnchorPoint(cc.p(0.5,0.5));
        this.addChild(listView);
       listView.setInnerContainerSize(cc.size(960, 80*9));
        for(var i =0; i < 9; i++){
         varsprite = new cc.Sprite(res.item_png);
         listView.addChild(sprite);
         sprite.x= listView.width/2;
         sprite.y= listView.getInnerContainerSize().height + 40 - (i+1)*80;
         sprite.setAnchorPoint(cc.p(0.5,0.5));
        }

        listView.jumpToTop();
				
时间: 2024-08-01 16:16:56

cocos2d js ScrollView的用法的相关文章

cocos2d js ScrollView的使用方法

游戏中非常多须要用到ScrollView的情况,也就是须要滚动一片区域. 这里有两种实现方法,一种是使用cocos studio的方式,另外一种是手写代码.先看第一种 第一种记得在设置滚动区域时选取裁剪项. var size = cc.winSize; //读取json文件 var root = ccs.uiReader.widgetFromJsonFile(res.listJson); this.addChild(root); //获取在cocos studio里面设定好的scrollView

JS Replace() 高级用法(转)

在很多项目中,我们经常需要使用JS,在页面前面对前台的某些元素做做修改,js 的replace()方法就必不可少. 经常使用"ABCABCabc".replace("A","B")的同学应该会比较清楚,改语句的最终结果是BBCABC,这种方法只能替换 第一个匹配的元素.如果替换所有呢?使用正则表达式即可: "ABCABCabc".replace(/A/g,"B") 即可. 那如果想替换A的同时也可以替换a呢

js事件监听器用法实例详解

本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分析如下: 1.当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事件发生时,只会执行最后绑定的方法.而用事件监听则不会有覆盖的现象,每个绑定的事件都会被执行.如下: window.onload = function(){  var btn = document.getElementById("yuanEvent");  btn.onclick = fun

cocos2d js ClippingNode 制作标题闪亮特效

1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似的效果. 顺便给我公司的游戏打下广告.https://itunes.apple.com/cn/app/kuang-zhan-san-guo/id691116157? mt=8 2.效果原理 很easy.就是一张白色两边羽化的图片在标题上从左往右移动.可是普通的移动会穿帮.我们须要以标题作为模板来截取白色的图片

js事件监听器用法实例详解-注册与注销监听封装

本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分析如下: 1.当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事件发生时,只会执行最后绑定的方法.而用事件监听则不会有覆盖的现象,每个绑定的事件都会被执行.如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 window.onload = function(){   var btn = document.getElementById("yuanEv

video.js的简单用法

今天项目中需要跨浏览器地播放视频,在网上找了一下,找到了video.js,记录一下video.js的简单用法. ? 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 <html> <head> ... <!-- 引入vide

jquery.validate.js插件的用法

最近做项目,需要用到 jQuery.validate.js插件,于是记录一下工作中的一些经验,以便日后学习. [例子如下] 1.前台页面 <form id="form1" method="post"> 用户名:<input type="text" id="UserName" name="UserName" /><!--<span id="name_error&q

js中prototype用法(转)

JavaScript能够实现的面向对象的特征有:·公有属性(public field)·公有方法(public Method)·私有属性(private field)·私有方法(private field)·方法重载(method overload)·构造函数(constructor)·事件(event)·单一继承(single inherit)·子类重写父类的属性或方法(override)·静态属性或方法(static member) 例子一(JavaScript中允许添加行为的类型):可以在

JS中括号的用法

转自:http://blog.csdn.net/hongmin118/article/details/4584023 我们在一些JS代码中经常可以看到这样的用法 :(function(){})();那这些括号是做什么用的呢?下面我们来测试一下就知道了 (function(){alert('zol');});运行后,没有反映(相当于第一函数) (function(){alert('zol');})();运行后,弹出 zol (function(){alert('zol');})(alert('wi