小编Bla*_*lam的帖子

Lua - 关于模块的问题

假设我想创建一个模块来说明一组GUI控件,我将如何创建一个可以加载所有GUI脚本的模块,我应该将这些脚本作为模块本身?我想有一个这样的系统:

module("bgui", package.seeall)

dofile("modules/bgui/control.lua")
dofile("modules/bgui/container.lua")
dofile("modules/bgui/screenmanager.lua")
dofile("modules/bgui/form.lua")
dofile("modules/bgui/button.lua")
dofile("modules/bgui/textbox.lua")
dofile("modules/bgui/label.lua")
Run Code Online (Sandbox Code Playgroud)

那么所有运行的文件都会将它们设置的变量作为bgui模块的一部分吗?Aka如果在control.lua中,我control = {...}会将它定义为bgui.control,还是应该将control.lua作为一个模块本身,就像module("bgui.control")我想要的那样?

对不起,如果不是很清楚,不得不急着写,谢谢:)

lua module

1
推荐指数
1
解决办法
1635
查看次数

使自定义控件的属性输入类似于多行文本框

假设我有"地址"属性,如何在表单设计器的属性框中输入它,就像文本框的文本输入一样,如下所示:

文本框输入图像.

c# propertygrid custom-controls

1
推荐指数
1
解决办法
1822
查看次数

从char数组中获取当前单词的最有效方法

假设我有一个字符串"text",一个插入位置"插入符号",然后想要找到当前的单词(按空格分隔).

我目前的做法似乎效率低下,我想知道是否有人有一个有效的方法吗?

const char* text;
int caret;
int initpos;
int start;
int count = 0;
char word[256];

// text and caret values assigned here.

initpos = caret;
while(caret > 0 && text[caret] != ' ') // get start
{
    caret--;
    count++;
}
start = caret;
caret = initpos;

while(text[caret] && text[caret] != ' ') // get end
{
    caret++;
    count++;
}

word = strsub(text, start, count);
Run Code Online (Sandbox Code Playgroud)

c optimization string-search

1
推荐指数
1
解决办法
990
查看次数

读取文本文件并比较文本 - Java

在我的程序中,我正在读取并解析文件以获取资源.

我提取一个表示资源类型的字符串,执行一个简单的if then else语句来检查它是否与任何已知类型匹配,如果不匹配则抛出错误:

if(type.toLowerCase() == "spritesheet") {
    _type = ResourceType.Spritesheet;
} else if(type.toLowerCase() == "string") {
    _type = ResourceType.String;
} else if(type.toLowerCase() == "texture") {
    _type = ResourceType.Texture;
} else if(type.toLowerCase() == "num") {
    _type = ResourceType.Number;
} else {
    throw new Exception("Invalid Resource File - Invalid type: |" + type.toLowerCase() + "|");
}
Run Code Online (Sandbox Code Playgroud)

忽略我的错误命名和非描述异常,这个语句总是转到最后的其他语句,即使从文件中读入类型IS"spritesheet"等.

java.lang.Exception: Invalid Resource File - Invalid type: |spritesheet|
at Resource.Load(Resource.java:55) //Final else.
Run Code Online (Sandbox Code Playgroud)

如果我在此调用之前将类型设置为"spritesheet",它可以工作,所以我想知道它是否是某种编码错误或其他什么?

我在java中没有做太多工作所以我可能会遗漏一些简单的东西:)

java string

1
推荐指数
1
解决办法
1073
查看次数