精华内容
下载资源
问答
  • lua开发ios native app

    2015-02-28 23:19:05
    lua开发ios native app,有详细的lua 用法,例如uibutton,uilabel等等
  • Wax 用Lua开发原生iPhone App的框架
  • Lua开发ios Native App

    千次阅读 2015-02-28 23:14:39
    其实很早我在参加一个沙龙的时候,就听到了点评的同学在用lua做ab test,虽然那个时候我觉得我自己很牛逼了,但是其实还是啥都没有听懂,直到今天才回过神来仔细看了下这个东西。 Lua(简称撸啊)在iOS中的确被广泛...

    起源

    其实很早我在参加一个沙龙的时候,就听到了点评的同学在用luaab test,虽然那个时候我觉得我自己很牛逼了,但是其实还是啥都没有听懂,直到今天才回过神来仔细看了下这个东西。

    Lua(简称撸啊)在iOS中的确被广泛的使用着,在行业中最著名的莫过于魔兽世界(山口山)以及移动互联网的愤怒的小鸟。

    Luacocos2d以及iOS的应用动态变化上面使用比较广泛,下面我们用两个例子来说明下。

    框架

    不得不说,最著名的莫过于waxwaxpatch,一个是能够在iOS中使用lua语言编写界面控件,一个是能够动态更新。

    Wax是什么?

    Wax是一个框架,让你可以用Lua开发原生的iPhone应用。WaxLuaObjetive-C的类库连接起来,也就是说,你可以用Lua使用任何的Objective-C类及框架。

    为什么使用Wax?

    Wax是免费的、开源的。你总是可以改动源代码,以满足自己的需要。

    Lua这种高效脚本语言编写代码可以大大节省时间

    可以使用所有现有的Objective-C

    可以让你的App在线更新一些功能,不再需要经过苹果App Store的审核,不过被苹果发现你的应用下载代码的话可能会被拒绝。

    2.7 Apps that download code in any way or form will be rejected
    2.8 Apps that install or launch other executable code will be rejected

    新建iOS APP项目,使用Empty Application模板,命名为HelloWax


    下载wax.framework


    解压缩wax.framework.zip,将wax.framework添加到项目中,选择“Copy items into destination group's folder”复选框


    AppDelegate.h文件,导入Wax包头文件:

    # import <wax/wax.h>


    AppDelegate.m文件,在application:didFinishLaunchingWithOptions:方法中,添加代码:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];
        wax_start("init.lua", nil);
        return YES;
    }


    项目中新建文件init.lua

    require "ViewController"
    viewController = ViewController:init()
    window = UIApplication:sharedApplication():keyWindow()
    window:setRootViewController(viewController)


    项目中新建文件ViewController.lua

    waxClass{"ViewController", UIViewController}
    
    function viewDidLoad(self)
    self.super:viewDidLoad(self)
    
    local label = UILabel:initWithFrame(CGRect(0, 120, 320, 40))
    label:setColor(UIColor:blackColor())
    label:setText("Hello Wax!")
    label:setTextAlignment(UITextAlignmentCenter)
    local font = UIFont:fontWithName_size("Helvetica-Bold",50)
    label:setFont(font)
    self:view():addSubview(label)
    end


    先不要急着编译,我们还需要更改一下编译的方式以及确认framework已经被准确导入


    运行,搞定,Hello Wax


    关于Wax的语法

    Lua中的函数名称不能有冒号。为了补偿这个差异,凡是Objective-C中隔开方法名称的地方,在Lua中都换成下划线。比如说以上程序的 UIFont:fontWithName_size("Helvetica-Bold",50)对应于Objective-C[UIFont fontWithName:@"Helvetica-Bold" size:50]Lua没有像Objective-C那样的继承体系。Lua中根本没有类。

    想通过Lua创建一个Objective-C类,就要使用waxClass{“CLASS NAME”, “PARENT_CLASS”}这个函数。你添加到该Lua文件的所有之后的函数(在同一个文件里面)都会作为实例方法,自动添加到新的类。

    waxClass{"ViewController", UIViewController}

    Wax不支持Objective-C属性。只能使用View:setFrame(someFrame),不能使用someView.frame。


    全部Demo下载

    展开全文
  • 发现一个nginx LUA开发Web App的框架 2013-08-13 00:1010574人阅读评论(4)收藏举报 目录(?)[+] nginx是个好东西, nginx的openrtsy发行版本更是个好东西。 今天又发现个好东西 :Moochine ...

    发现一个nginx LUA开发Web App的框架

     

    目录(?)[+]

     

    nginx是个好东西, nginx的openrtsy发行版本更是个好东西。

    今天又发现个好东西 :Moochine

     

    MOOCHINE - 一个简单的轻量级的web framework, 基于ngx_OpenResty(ngx_lua,ttp://openresty.org) 做的框架,

    使用例子  https://github.com/appwilldev/moochine-demo

     

     

     

     

    可以让我们构建WebApp 更加的简单,具体使用方法请看具体的 moochine-demo

    request对象的属性和方法


     

     

     

    --属性
    method          = ngx.var.request_method    -- http://wiki.nginx.org/HttpCoreModule#.24request_method
    schema          = ngx.var.schema            -- http://wiki.nginx.org/HttpCoreModule#.24scheme
    host            = ngx.var.host              -- http://wiki.nginx.org/HttpCoreModule#.24host
    hostname        = ngx.var.hostname          -- http://wiki.nginx.org/HttpCoreModule#.24hostname
    uri             = ngx.var.request_uri       -- http://wiki.nginx.org/HttpCoreModule#.24request_uri
    path            = ngx.var.uri               -- http://wiki.nginx.org/HttpCoreModule#.24uri
    filename        = ngx.var.request_filename  -- http://wiki.nginx.org/HttpCoreModule#.24request_filename
    query_string    = ngx.var.query_string      -- http://wiki.nginx.org/HttpCoreModule#.24query_string
    user_agent      = ngx.var.http_user_agent   -- http://wiki.nginx.org/HttpCoreModule#.24http_HEADER
    remote_addr     = ngx.var.remote_addr       -- http://wiki.nginx.org/HttpCoreModule#.24remote_addr
    remote_port     = ngx.var.remote_port       -- http://wiki.nginx.org/HttpCoreModule#.24remote_port
    remote_user     = ngx.var.remote_user       -- http://wiki.nginx.org/HttpCoreModule#.24remote_user
    remote_passwd   = ngx.var.remote_passwd     -- http://wiki.nginx.org/HttpCoreModule#.24remote_passwd
    content_type    = ngx.var.content_type      -- http://wiki.nginx.org/HttpCoreModule#.24content_type
    content_length  = ngx.var.content_length    -- http://wiki.nginx.org/HttpCoreModule#.24content_length
    
    headers         = ngx.req.get_headers()     -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_headers
    uri_args        = ngx.req.get_uri_args()    -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_uri_args
    post_args       = ngx.req.get_post_args()   -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_post_args
    socket          = ngx.req.socket            -- http://wiki.nginx.org/HttpLuaModule#ngx.req.socket
    
    --方法
    request:read_body()                         -- http://wiki.nginx.org/HttpLuaModule#ngx.req.read_body
    request:get_uri_arg(name, default)
    request:get_post_arg(name, default)
    request:get_arg(name, default)
    
    request:get_cookie(key, decrypt)
    request:rewrite(uri, jump)                  -- http://wiki.nginx.org/HttpLuaModule#ngx.req.set_uri
    request:set_uri_args(args)                  -- http://wiki.nginx.org/HttpLuaModule#ngx.req.set_uri_args

     

     

    response对象的属性和方法

    --属性
    headers         = ngx.header                -- http://wiki.nginx.org/HttpLuaModule#ngx.header.HEADER
    
    --方法
    response:set_cookie(key, value, encrypt, duration, path)
    response:write(content)
    response:writeln(content)
    response:ltp(template,data)
    response:redirect(url, status)              -- http://wiki.nginx.org/HttpLuaModule#ngx.redirect
    
    response:finish()                           -- http://wiki.nginx.org/HttpLuaModule#ngx.eof
    response:is_finished()
    response:defer(func, ...)                   -- 在response返回后执行

     

    支持 Multi-App 与 Sub-App

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    转载于:https://www.cnblogs.com/archoncap/p/4950202.html

    展开全文
  • 基于ESP12E Dev Kit的开发APP以及Lua源码,可以制作WIFI继电器,WIFI RGB LED 等等。
  • 可用于开发中的文档格式转换,excel->lua ,例如游戏开发中的策划文案,移动开发中的配置文档
  • 原文链接:http://mobile.51cto.com/hot-421742.htm
    展开全文
  • 在我的项目中 :本地app开发的预制体中,展示webview的panel的宽高是750*1338 出现的问题: 但是在使用ccui.webview的时候,直接把webview设置成和panel一样的宽高,在有的手机上是合适的,有的高屏手机就是出现...

    在我的项目中 :本地app开发的预制体中,展示webview的panel的宽高是750*1338

    出现的问题:

    但是在使用ccui.webview的时候,直接把webview设置成和panel一样的宽高,在有的手机上是合适的,有的高屏手机就是出现适配问题,显示内容高度比手机屏幕小,宽度是合适的

    原代码:直接使用panel的宽高

     local winSize = self.contentPanel:getContentSize()
            self._webView = ccui.WebView:create()
            self._webView:setPosition(winSize.width / 2, winSize.height / 2)
            self._webView:setContentSize(winSize.width, winSize.height)
            self._webView:loadURL(url)
            self._webView:setScalesPageToFit(true)

    本来以为是webview端开发的适配问题,后来看是和手机分辨率相关的,

    修改后的代码:先获取手机的分辨率,因为宽度750是合适的,所以就根据真实的分辨率和panel的宽高做个计算,最终得到合适的显示高度

    panel:750*1338

    分辨率:1080*1920

            local gl = cc.Director:getInstance():getOpenGLView();

           local frameSize = gl:getFrameSize(); -- 得到分辨率

     local winSize = self.contentPanel:getContentSize();--panel的size
            --计算真实宽高
            local useSize = {width=winSize.width,height=math.ceil(frameSize.height*winSize.width/frameSize.width) } -- 这里使用math.ceif是为了尽可能取高点,防止不能铺满屏幕
            self._webView = ccui.WebView:create()
            self._webView:setPosition(useSize.width / 2, useSize.height / 2-(useSize.height-winSize.height)) --位置的计算是 中心点-真实高度和panel的高度的差值,这是我自己本地项目的调整的合适结果
            self._webView:setContentSize(useSize.width, useSize.height)
            self._webView:loadURL(url)
            self._webView:setScalesPageToFit(true)

     

    最终得到的在手机app上显示的webview可以完美的适配到手机上 ,这里我的webview项目是用cocos creator开发打包的,

    注意:webview项目在开发时也要做好适配,把锚点,widget等都设置好,防止适配到app端时

    显示的节点位置会偏移

     

     

    展开全文
  • http://rudix.org/ 1、 安装Rudix Rudix:http://rudix.org Just open theTerminal.appand type: curl -O https://raw.githubusercontent....
  • 链接:https://pan.baidu.com/s/1VA8AX7HV5ykdBvLnK-wTTA ... init.lua --[[ GPIO0--3 GPIO1--10 GPIO2--4 GPIO3--9 GPIO4--2 GPIO5--1 GPIO9--11 GPIO10--12 GPIO12--6 GPIO13--7 GPIO14--5 GPIO15--8 GPIO1...
  • 1,编辑nginx 配置文件配置: vim /app/services/openresty/nginx/conf/nginx.conf user root; worker_processes 1; error_log /app/logs/nginx/error.log; error_log /app/logs/nginx/error-...
  • 目的:使用安装APP 连接局域网,可以通过APP局域网控制继电器响应,文章地址如下。 原文链接:https://blog.csdn.net/qq_20081893/article/details/98869576
  • lua脚本语言开发说明

    2018-09-21 16:58:30
    lua脚本语言环境搭建,Nginx配置,语法规范详解及常用的一些语法说明及开发过程中遇到的一些问题与解答。下载app注册免费获取:http://m3w.cn/jcsh
  • 脚本开发之四】使用tolua++编译pkg,从而创建自定义类让Lua脚本使用 此篇可能会在最新的cocos2dx版本中出现如下问题: 1 2 LUA ERROR: ...24F82-1230-41FE-8A04-C445FB7D1BAB/...
  • 这一篇开始,我们会用三四篇的篇幅来讲核心层,也就是战斗层FightLayer,该层的功能主要包括一波一波...在src/app/layers下创建一个FightLayer.lua文件,创建FightLayer类继承Layer,我们先来说说这个类有那些属性:
  • require("app.senes.other") --调用app\senes目录下other.lua文件,可以使用other.lua文件里的资源 a = 3 --全局变量,可供其他lua文件调用 local b = "hello world" --a.lua文件的全局变量,不可供其它lua文件调用...
  • https://www.cnblogs.com/yangfengwu/p/10817228.html https://www.cnblogs.com/yangfengwu/p/10858262.html
  • https://www.cnblogs.com/yangfengwu/p/10793883.html https://www.cnblogs.com/yangfengwu/p/10829236.html
  • APP热更新是指软件不通过运营商店的软件版本更新审核,直接通过应用自行下载的软件数据更新的行为。 1. 什么是热更新 ? 举例说明: 游戏上线后,玩家下载第一个版本(100M左右或者更大),在之后运营的过程中,...
  • 我们在主场景的触摸事件中,已经判定了玩家选择的植物类型,以及放置的位置,并把它们设置给了战斗层FightLayer,然后调用FightLayer的添加植物方法addPlant添加了植物,植物类的...local Nut = require("app.plant.Nut
  • 上一篇我们讲了豌豆射手的实现,在这一篇中,...在src/app下创建一个文件夹product,在文件夹下创建Sun类, local Sun = class("sun",function() return display.newSprite("product/sun.png") end) functio
  • 植物卡片具有不同类型,使用不同植物消耗的能量值也不同,当植物卡片在A槽的时候,点击植物卡片,卡片会移动到B...在src/app下创建card文件夹,在改文件夹下创建PlantCard类,下面是卡片类的代码: local PlantCard =
  • 蓝色互动,大众点评、韩都衣舍、汉庭、携程旅游、华夏基金、中国农业银行等好多知名APP开发商,正在使用, 领先的快速移动应用开发平台 http://www.deviceone.net?00001 应用开发语言 js/lua 组件开发语言 ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 210
精华内容 84
关键字:

lua开发app