小编csg*_*000的帖子

Cordova ios错误构建Images.xcassets

我花了很多时间试图解决这个问题无济于事.

我使用了cordova,因为我的mac现在与NPM和cordova有问题.

我得到它安装,但我现在必须使用sudo为cordova.

尝试了以下方法:

sudo cordova platform remove ios
sudo cordova platform add ios
sudo cordova build ios
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

** BUILD FAILED **


The following build commands failed:
    CompileAssetCatalog build/emulator/<AppName>.app <AppName>/Images.xcassets
(1 failure)
ERROR building one of the platforms: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/cordova/build-debug.xcconfig,-project,<AppName>.xcodeproj,ARCHS=i386,-target,<AppName>,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/sharedpch
You may not have the required environment or OS to build this project
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/cordova/build-debug.xcconfig,-project,<AppName>.xcodeproj,ARCHS=i386,-target,<AppName>,-configuration,Debug,-sdk,iphonesimulator,build,VALID_ARCHS=i386,CONFIGURATION_BUILD_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Users/MacUserName/Desktop/<AppName>/<AppName>/platforms/ios/build/sharedpch
Run Code Online (Sandbox Code Playgroud)

科尔多瓦版

sudo cordova -v
6.0.0
Run Code Online (Sandbox Code Playgroud)

更新:我现在正在运行6.1.1,仍然是同样的问题 …

ios npm cordova

27
推荐指数
3
解决办法
3万
查看次数

Libgdx gl10.glLineWidth()

我有这一行:Gdx.gl10.glLineWidth(width); 现在,我打算绘制一条相当粗的线条,不幸的是,当我输入1或5这样的小值时,这条线显然很小.但是,一旦我超过了像10这样的东西,它就不再变大了.我在这些情况下传递直接值,因此,我认为GL有限制或者某种东西......我会是正确的吗?这是我的代码:

Gdx.gl.glClearColor(0,0,0,1);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(cam.combined);
    batch.begin();
    batch.draw(bg,0,0,WIDTH,HEIGHT);
    for(Spell a : spells){
        a.draw(batch);
    }
    lc.draw(batch);
    batch.end();
    //((ppux+ppuy)/2f)*4
    Gdx.gl10.glLineWidth(50);//average and then say 1/4 a unit)
    renderer.setProjectionMatrix(cam.combined);
    renderer.begin(ShapeType.Line);
    lp.drawLines(renderer);
    renderer.end();
    batch.begin();
    lp.draw(batch);
    batch.end();
Run Code Online (Sandbox Code Playgroud)

lp.drawLines(渲染器)调用以下内容(我只是调用set颜色,并绘制线条):

renderer.setColor(1,1,1,1);
    Elem a = elems.get(spellcombo.get(0));
    Vector2 last = new Vector2(a.x(),a.y());
    for(int i = 1; i < spellcombo.size(); i++){
        a = elems.get(spellcombo.get(i));
        Vector2 cur = new Vector2(a.x(),a.y());
        renderer.line(last.x, last.y, cur.x, cur.y);
        last = cur;
    }
    renderer.line(last.x,last.y,mx,my);
    Gdx.gl.glEnable(GL10.GL_BLEND);
    Gdx.gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
    renderer.setColor(1, 0, 0, .2f);
    for(Elem e : elems){
        int id = …
Run Code Online (Sandbox Code Playgroud)

java libgdx

7
推荐指数
2
解决办法
5126
查看次数

Java libgdx(desktop / android)多人游戏如何

我正在开发一款名为“巫师战争”的游戏。此游戏需要允许2位玩家同时玩,并且需要TCP连接来传达咒语的创建/销毁等,以及UDP连接来处理位置等。它会有一个客户端和一个主机端。话虽这么说,我的程序旨在在Android上运行。我在网上找到的所有教程/信息都针对JApplets或类似的东西。因此,我想从如何建立/使用连接的简短代码示例中获得一些帮助,或者只是指向有关如何建立实际连接的足够有用信息的链接。

java udp tcp multiplayer libgdx

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

libgdx ScrollPane - 不滚动?

我正在一个多人游戏中进行游说,可能会在桌子上显示任意数量的玩家.我有以下代码:

camera = new OrthographicCamera(WIDTH,HEIGHT);
    camera.position.set(WIDTH/2,HEIGHT/2, 0);
    camera.update();

    stage = new Stage();
    Gdx.input.setInputProcessor(stage);
    stage.setCamera(camera);
    stage.setViewport(WIDTH,HEIGHT,false);

    ScrollPaneStyle paneStyle = new ScrollPaneStyle();
    paneStyle.background = new TextureRegionDrawable(WizardsDuel.atlas.findRegion("cavebg"));
    paneStyle.vScrollKnob = new TextureRegionDrawable(WizardsDuel.atlas.findRegion("GUI/slidernob"));
    paneStyle.hScroll = paneStyle.hScrollKnob = paneStyle.vScroll = paneStyle.vScrollKnob;

    Table container = new Table();
    table = new Table();
    ScrollPane pane = new ScrollPane(table,paneStyle);
    container.add(pane).width(WIDTH).height(HEIGHT);
    container.row();
    container.setBounds(0,0,WIDTH,HEIGHT);
    stage.addActor(container);

    font = new BitmapFont();
    color = new Color(0,0,0,1);
    style = new TextButtonStyle();
    style.font = font;
    style.up = new TextureRegionDrawable(WizardsDuel.atlas.findRegion("GUI/guibg"));
    style.fontColor = color;

    handler = new ChangeHandler();
    ArrayList<User> …
Run Code Online (Sandbox Code Playgroud)

java android scrollpane libgdx

5
推荐指数
3
解决办法
1万
查看次数

Cordova + Crosswalk iOS仍然使用UIWebView

我没有找到很多为iOS设置人行横道的指令,看起来它应该像下面这样简单:

cordova plugin add cordova-plugin-crosswalk-webview
cordova build ios
Run Code Online (Sandbox Code Playgroud)

因为我在执行以下操作之前遇到插件无法生效的问题:

cordova plugin add cordova-plugin-crosswalk-webview
cordova platform remove ios
cordova platform add ios
cordova build ios
Run Code Online (Sandbox Code Playgroud)

完成此操作后,当我捕获视图层次结构并检查它仍在使用"UIWebView"时,它内部有一个"UIWebBrowserView"(它位于滚动视图内部,并且还有一些图像视图).

另外,navigator.userAgent如下:

"Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13B143 (5618403776)" = $1
Run Code Online (Sandbox Code Playgroud)

有人提到的另一项测试主要是:

if (window.indexedDB)
    console.log('Using crosswalk');
else
    console.log('Not using crosswalk/wkwebview');
Run Code Online (Sandbox Code Playgroud)

并且window.indexedDB未定义.

那么......我需要做什么才能让应用程序使用wkwebview?

uiwebview ios cordova wkwebview crosswalk

5
推荐指数
2
解决办法
8020
查看次数

使用循环在新线程中运行我的程序 - 不要使用睡眠?

我只有一个程序,用于在它自己的线程中执行此操作:

public void run(){
    long lastTime = System.nanoTime();
    float lastSleep = 0;
    //Everything is in seconds.
    while(running){
        float delta = (System.nanoTime()-lastTime)/1000000000f;
        lastTime = System.nanoTime();
        manager.update(delta);
        panel.repaint();
        lastSleep = Math.max(maxTicSpeed-(delta-lastSleep),5/1000f);
        try{
            Thread.sleep((long) Math.round(lastSleep*1000));
        }catch(InterruptedException e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上我总是在这样循环时被教导睡觉,所以我做了,我的程序睡眠至少5毫秒,或者它可以睡觉的最多时间而不超过限制(1/30秒).但我正在四处看书,睡觉听起来不是很好.

http://msmvps.com/blogs/peterritchie/archive/2007/04/26/thread-sleep-is-a-sign-of-a-poorly-designed-program.aspx

从他的说法来看,如果它太接近睡眠下限,我的程序甚至都不会睡觉,等等.当system.printing时间的变化时,变化的范围大约是.31508 - .03475,这对我来说真的很好,因为我的程序会导致不准确.

话虽这么说,我还能做些什么呢?我正在考虑添加类似这样的东西,而不是尝试{Sleep}:

long waitTill = (long) (System.nanoTime()+lastTime/1000000000f), 
    now = System.nanoTime();
while(now < waitTill){
    now = System.nanoTime();
}
Run Code Online (Sandbox Code Playgroud)

但是我的线程不会占用相同数量的处理器时间吗?我认为重点是阻止我们的线程占用更多的处理器,而不是实际需要的...

那么,我应该使用睡眠(最小睡眠时间更长?),我应该使用我的替代方案,我应该使用其他替代方案,还是应该让我的程序以无限制的速度循环?即使我考虑到睡眠不准确,我编程也很差吗?

谢谢您的帮助!

编辑: 所以,定时器已被推荐,但我明白,如果我的任务没有在Timer再次调用之前完成,那么我会遇到问题.这对我的计划来说是一个明确的问题.我觉得我已经通过使用delta处理了Thread.sleep()的问题,所以,Thread.sleep()会像以前一样更好吗?

java multithreading sleep loops

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

无法在弹出式JFrame中编辑JTextField

好吧,我在弹出式JFrame中遇到文本字段问题...我实际上有两个独立的程序,一个是游戏,一个是地图编辑器.我决定让游戏有一种内置的地图编辑器,所以我将地图编辑器中的类添加到我游戏项目中的一个新包中,进行了一些小的调整(比如从地图编辑器中删除main()方法),然后让事情有效.地图编辑器弹出为新的JFrame,当我单击"新建"按钮时,它会打开一个新的JFrame,其中包含几个TextFields和一个请求新地图宽度和高度的按钮.我无法编辑文本字段中的值...我不知道为什么...弹出代码:

private class newMap extends JFrame implements ActionListener{
    JLabel wlbl = new JLabel("Map width: ");
    JTextField w = new JTextField("12");
    JLabel hlbl = new JLabel("Map height: ");
    JTextField h = new JTextField("8");
    JButton create = new JButton("Create map");
    public newMap(Component p){
        super("New Map");
        setSize(100,75);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setResizable(false);
        setLayout(null);
        setVisible(true);
        int bw = 96, bh = 24, s = 4, x = s;

        wlbl.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(wlbl);
        w.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(w);
        hlbl.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(hlbl);
        h.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(h);
        create.setBounds(x,s,bw,bh);
        x+=s+bw;
        create.addActionListener(this);
        add(create);

        setSize(getWidth()-this.getContentPane().getWidth()+x,
                getHeight()-this.getContentPane().getHeight()+s+s+bh);
        setLocationRelativeTo(p); …
Run Code Online (Sandbox Code Playgroud)

java swing popup jframe jtextfield

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