我有一个问题在这里我不知道如何解决这个问题,本尝试任何我知道解决这个仍然没有解决方案,请帮助
我有2个模块
主要的卢阿:
local comboBox = require( "dog" )
local a = display.newGroup()
local bang = {1,2,3}
local bang2 = {4,5,6}
local dog1 = comboBox.newComboBox( "Choose",100,200,100,32, "center", 32,bang)
local dog2 = comboBox.newComboBox( "Choose",200,100,100,32, "left", 32,bang2)
local b = display.newRect(0,0,10,10)
dog1:printAge()
dog2:printAge()
dog1:setTextColor(1,0,0)
dog2:setTextColor(0,1,1)
a:insert(b)
a:insert(dog1)-- error is here
外部模块dog.lua:
local comboBox = display.newGroup()
local nComboBox = display.newGroup()
local widget = require("widget")
local comboBox_mt = { __index = comboBox } -- metatable
-- test = {}
-- local t = {}
-------------------------------------------------
-- PRIVATE FUNCTIONS
-------------------------------------------------
local function getDogYears( realYears ) -- local; only visible in this module
-- return realYears * 7
end
--Scroll View
local function scrollListener( event )
local phase = event.phase
if ( phase == "began" ) then print( "Scroll view was touched" )
elseif ( phase == "moved" ) then print( "Scroll view was moved" )
elseif ( phase == "ended" ) then print( "Scroll view was released" )
end
-- In the event a scroll limit is reached...
if ( event.limitReached ) then
if ( event.direction == "up" ) then print( "Reached top limit" )
elseif ( event.direction == "down" ) then print( "Reached bottom limit" )
elseif ( event.direction == "left" ) then print( "Reached left limit" )
elseif ( event.direction == "right" ) then print( "Reached right limit" )
end
end
return true
end
-- Create the scrollview widget
local function createScrollView(sx,sy,sWidth,sHeight,sList)
-- body
scrollView = widget.newScrollView
{
top = sy+sHeight/2,
left = sx-sWidth/2,
width = sWidth,
height = sList*sHeight,
scrollWidth = 0,
scrollHeight = sList*sHeight,
horizontalScrollDisabled = true,
listener = scrollListener
}
-- scrollView.anchorX = 1
-- scrollView.anchorY = 0
return scrollView
end
--show drop box and its content
local function createDropDown(dx, dy, dWidth, dHeight, dList)
-- local dropRect = display.newRect(dx,dy+dHeight,dWidth,dHeight)
-- dropRect:setFillColor(1,1,0)
local newListContent = {}
Y = 0+dHeight/2
for i = 1,#dList do
local optionsForList = {
text = dList[i],
x = 0,
y = Y,
font = native.font,
fontSize = 32,
align = "left" --new alignment parameter
}
newListContent[i] = display.newText(optionsForList)
newListContent[i].anchorX = 0
newListContent[i]:setFillColor(1,0,0)
Y = Y + dHeight+1
scrollView:insert(newListContent[i])
nComboBox:insert(scrollView)
end
end
--drop box
local function bringDropDown( self, event )
-- body
local phase = event.phase
if phase == "began" then
-- print(self.text)
elseif phase == "moved" then
else
self.text = "Choose an Item"
if self.state == "n" then
createScrollView(self.x,self.y,self.width,self.height, #self.list)
createDropDown(self.x,self.y,self.width,self.height, self.list)
else
end
end
return true
end
-------------------------------------------------
-- PUBLIC FUNCTIONS
-------------------------------------------------
--Create new ComboBox
function comboBox.newComboBox( name, cx, cy, cWidth, cHeight, cAlign, cFontSize, cList) -- constructor
-- local autoincre = 0
-- local tContents = {}
local comboBoxTextOptions = {
text = name,
x = cx,
y = cy,
width = cWidth, --required for multi-line and alignment
height = cHeight+1 ,
font = native.font,
fontSize = cFontSize,
align = cAlign --new alignment parameter
}
local comboBoxFill = display.newRect(cx,cy,cWidth,cHeight)
local tNewComboBox = {
display.newText(comboBoxTextOptions),
-- name = name or "Unnamed",
-- age = ageInYears or 2
}
print(#cList)
tNewComboBox[1].touch = bringDropDown
tNewComboBox[1].name = name
tNewComboBox[1].state = "n"
tNewComboBox[1].list = cList
tNewComboBox[1]:addEventListener("touch",tNewComboBox[1])
nComboBox:insert(comboBoxFill)
nComboBox:insert(tNewComboBox[1])
return setmetatable( tNewComboBox, comboBox_mt )
end
-------------------------------------------------
function comboBox:setTextColor(cx,cy,cz)
self[1]:setFillColor(cx,cy,cz)
end
-------------------------------------------------
return comboBox, nComboBox
堆栈回溯:
File: main.lua
Line: 36
Bad argument #-2 to 'insert' (Proxy expected, got nil)
stack traceback:
[C]: in function 'insert'
main.lua:36: in main chunk
现在还在想在这里做什么。这是唯一阻碍我项目的事情。请帮忙,谢谢:)
不能将元表直接用于Corona显示对象。在这种情况下,newComboBox必须返回显示对象。
我不知道我做错了什么。。。我得到了球员的错误。draw()函数。它所说的不好的争论是在爱情中。图样矩形()方法。这意味着v.x是一个糟糕的论点。但它应该起作用。v.x和v.y都应该工作。因为它访问表或数组中元素的字段,对吗?有人能告诉我我做错了什么,以及如何解决这个问题吗?非常感谢!这是我的代码:
当尝试ViewChild时,我会得到错误。错误为“未提供'opts'的参数。” @ViewChild都给出了错误。 ts(11,2):错误TS2554:应为2个参数,但得到1。
我正在使用这段代码生成objects,但有时我会遇到这个错误(错误参数#-1到'addBody'(需要代理,得到零))知道为什么吗?
编辑:我把单引号改成双引号,短绒没有抱怨。 我把这个放到jsonlint.com,我得到了这个错误: 其他json棉绒也有类似的结果。最初,数值是空的,所以我用单引号将它们括起来,以消除< code>jq错误: 但我还是为JQ买的。 我没有看到任何未定义的键,我错过了什么? 我还在网上看到一篇参考文章,不允许对密钥使用裸数字,公平地说,任何具有非字符串密钥的JSON都不应该通过测试吗?
首先,我试图遵循这一指南。 到目前为止,我已经启动并运行了主机,但我在这一点上卡住了。我已经安装了windowsservercore映像,并且安装了IIS映像并将其标记为“WindowsServerIIS”。现在我需要安装ASP.NET4.5,我使用以下命令 docker Build-T windowsserveriisaspnet。 我也许应该添加我为我的Docker图像创建一个文件夹。所以我有
这是一个Lua脚本,用于Corona SDK中的一个游戏。一开始(旧代码)效率很低,我不得不手动创建每道数学题,在其他人的帮助下(新代码),所以我得到了答案。 在控制台中,我现在看到了这个错误: