每帧创建一个item

-- 加载列表测试
function UIBagController:onLoadTest()
    self.goodsprop = DB.getTable("goodsprop");

    local itemAmount = 50;
    -- 计算高度
    local nAmount = 0;
    if itemAmount % self.m_nRColumn == 0 then
        nAmount = math.modf( itemAmount / self.m_nRColumn );
    else
        nAmount = math.modf( itemAmount / self.m_nRColumn + 1 );
    end
    local nHeigh = nAmount * self.m_nHeigh;
    self.m_nInnerHeigh = nHeigh;
    local size = self.scrollPanel:getInnerContainerSize();
    if nHeigh < size.height then
        nHeigh = size.height;
    end
    self.scrollPanel:setInnerContainerSize(CCSizeMake(size.width, nHeigh));
    --print("==宽高==" .. size.width .. " " .. nHeigh)
    local nWidth = size.width;
    local nPosX = 0;
    local nPosY = 0;
    local nIndex = 0;
    nHeigh = nHeigh - self.m_nHeigh;
    local nItemWidth = size.width / self.m_nRColumn;
    if itemAmount ~= nil then
        self.ScheduleId = CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(function ( )
            print("nIndex " .. nIndex)
            print("itemAmount " .. itemAmount)
            if nIndex >= itemAmount then
                CCDirector:sharedDirector():getScheduler():unscheduleScriptEntry(self.ScheduleId);
            end
            local info = self.goodsprop[nIndex + 1];
            local item = self.ImageView_item:clone();
            if nIndex % self.m_nRColumn == 0 then
                nPosY = nHeigh - math.modf(nIndex / self.m_nRColumn) * self.m_nHeigh;
                local itemSize = item:getSize();
                nPosY = nPosY + itemSize.height / 2;
            end
            nPosX = self.m_nPosXStart + math.ceil(nIndex % self.m_nRColumn) * nItemWidth;
            item:setPosition(ccp(nPosX, nPosY));
            item:setVisible(true);
            self.scrollPanel:addChild(item);
            self:loadItem(item);

            nIndex = nIndex + 1;
        end, 0, false);
    end
end

-- 加载数据
function UIBagController:loadItem(uiwidget)
    local imgItem = tolua.cast(UIHelper:seekWidgetByName(uiwidget, "ImageView_Item"), "ImageView");
    imgItem:loadTexture(ItemM:getIconPath(21419))
end
时间: 2024-10-11 14:47:47

每帧创建一个item的相关文章

iOSUIButton类的扩展,创建一个UIBarButtonItem的button

.h文件中: #import <UIKit/UIKit.h> @interface UIBarButtonItem (YLY) /** * 快速创建一个item对象(包装一个button) * * @param image 按钮图片 * @param hilight 高亮图 * @param target 按钮的监听器 * @param action 按钮的件提起的回调方法 * * @return 创建的item对象 */ +(UIBarButtonItem *)itemWithImage:(

3dmax使用K帧工具创建一个行走动作

第一步,创建一个biped骨骼. 这个就不截图了,因为基本都会. 记住一点,先改变了关键点再去修改,不然修改的是前一个关键帧的动作. 第二步,开启自动关键帧,然后给初始位置双脚添加踩踏关键点.设置关键点后,角色就只能在平面上进行移动. 设置踩踏关键帧后,时间轴上面的会变成黄色. 第三步:然后开始在第15帧的时候设置右脚的动作,变成踩踏关键帧的时候,左脚就设置为自由关键帧.然后移动角色中心向前移动. 第四步:然后再20帧的时候,右脚为只有关键帧,左脚为踩踏关键帧,移动角色向前移动就可以实现走动了.

【转】怎样创建一个Xcode插件(Part 1)

原文:How To Create an Xcode Plugin: Part 1/3 原作者:Derek Selander 译者:@yohunl 译者注:原文使用的是xcode6.3.2,我翻译的时候,使用的是xcode7.2.1,经过验证,文章中说说的依然是有效的.在文中你可以学习到一系列的技能,非常值得一看. 苹果的"一个足以应付所有"策略使得它的产品越来越像一个难以下咽的药丸.尽管苹果已经将一些工作流带给了iOS/OS X的开发者,我们仍然希望通过插件来使得Xcode更加顺手!

创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放。一个滑动条用来控制视频播放位置,以10为步长跳进。另一个滑动条用来控制停止/播放

/* 创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放. 一个滑动条用来控制视频播放位置,以10为步长跳进.另一个滑动条用来控制 停止/播放 */ #include <cv.h> #include <highgui.h> int g_slider_position = 0; CvCapture* g_capture = NULL; int index = 0; bool flag = true; int g_slider_position1 = 0; void o

《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型 (转)

第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如

无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)

1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&

Orchard入门:如何创建一个完整Module

这是一个Orchard-Modules的入门教程.在这个教程里,我们将开发两个功能页面分别用于数据录入与数据展示. 完成上述简单功能开发,我们一共需要6个步骤.分别为: 创建Module 创建Model 创建Services 创建Controller.View 创建Route 创建Admin Menu 上面6个步骤可能不太好理解.在这里,我们把他们转换从MVC中的概念让我们更好理解. Module 项目模块 Model 实体层 Controller.View Controller.View Ro

xul 创建一个按钮

MDN Mozilla 产品与私有技术 Mozilla 私有技术 XUL Toolbars 添加工具栏按钮 (定制工具栏) 添加工具栏按钮 (定制工具栏) 在本文章中 创建一个 overlay 在工具栏添加按钮 为按键应用风格 图标大小 CSS 样式表 应用样式表 常见错误 常见工具栏的 overlayed windows 更多信息 此文章解释如何使用 overlays 为工具包(firefox,Thunderbird 或 Kompozer) 添加工具栏按钮(就是浏览器右上方一系列按钮,home

android 自己创建一个注释模板

android  自己创建一个注释模板 作为一名程序员 不仅要有一个写代码的能力,养成一个良好的编写习惯也是很重要的.今天给大家详细介绍一下如何创建注释模板,给每个类和方法都自己手动去注释信息也可以,只是这样比较繁琐.为何我们不手动去创建一个注释模板呢? 第一: 首先我们需要编写一个模板的xml文件(codetemplates.xml) 第二.我们现在就给xml文件编写主要注释的内容信息,我就直接把自己用的xml信息直接贴出来 <?xml version="1.0" encodi