小编Nol*_*esh的帖子

从JavaScript调用jQuery函数

我有一些jQuery代码:

$(function(){ 
function someFunc(){
    /*do something*/
};
.............   
});
Run Code Online (Sandbox Code Playgroud)

现在我想从JavaScript调用someFunc,如下所示:

function test(){    
$.fn.someFunc();
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用!我已经看过一篇文章如何从javascript中调用jquery中的函数.可能吗?

javascript jquery

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

禁用html5画布

如果浏览器不支持html5 canvas,我想测试网站的行为.所以我需要禁用画布.

<canvas id="myCanvas" width="800" height="600"> 
    <!-- Insert fallback content here -->
    <!-- I NEED TO GET HERE!!! -->
</canvas> 
Run Code Online (Sandbox Code Playgroud)

有办法做到这一点吗?

html5 canvas html5-canvas

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

将多个纹理传递给LibGDX中的着色器

我需要将2个(或更多)纹理传递给一个着色器.此外,我必须在渲染方法中绑定纹理,因为我使用FrameBuffer并尝试在飞行中绑定纹理.所以,我的代码如下:

@Override
public void show () {
      fbo = new FrameBuffer(Format.RGB565, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);

      shader = new ShaderProgram(Gdx.files.internal("shaders/vertex.glsl"), Gdx.files.internal("shaders/test_fragment.glsl"));
    ...
}

@Override
public void render(float delta) {

    fbo.begin();        
    Gdx.graphics.getGL20().glClearColor( 0.0f, 0.0f, 0.0f, 1f );
    Gdx.graphics.getGL20().glClear( GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT );      

    cam.update();

    spriteBatch.setProjectionMatrix(cam.combined);

    spriteBatch.begin();        
    spriteBatch.draw(someImage, 0, 0, width, height);                   
    spriteBatch.end();
    fbo.end();

    Texture texture = fbo.getColorBufferTexture();

    time+=Gdx.graphics.getDeltaTime();      

    shader.begin();

     shader.setUniformMatrix(u_wview, cam.projection);
     Gdx.graphics.getGL20().glActiveTexture(GL20.GL_TEXTURE0);
     texture.bind(0);

     shader.setUniformi("u_texture", 0); //passing first texture!!!

     Gdx.graphics.getGL20().glActiveTexture(GL20.GL_TEXTURE1);       
     tex2.bind(1);
     shader.setUniformi("u_texture2", 1); //passing second texture!!!


    shader.setUniformf(u_res, new Vector2(Gdx.graphics.getWidth(),Gdx.graphics.getHeight())); 
    shader.setUniformf(u_time, time);


    mesh.render(shader, GL20.GL_TRIANGLES); …
Run Code Online (Sandbox Code Playgroud)

android pixel-shader fragment-shader opengl-es-2.0 libgdx

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

如何使用奥利奥(8.0)PACKAGE_ADDED隐含的广播?

我必须接收系统发送的隐式广播(ACTION_PACKAGE_ADDED),以检测应用程序的安装并执行一些代码。我使用下面的代码:

public class Receiver extends BroadcastReceiver{
   @Override
   public void onReceive(Context context, Intent intent) {
     // It will trigger when any app is installed           
        Uri data = intent.getData();
        String packageAdv = data.getEncodedSchemeSpecificPart();
     //some code...
   }
}
Run Code Online (Sandbox Code Playgroud)

在我的Manifest文件中,我声明了接收者:

<receiver android:name="com.myapp.Receiver">
        <intent-filter>                    
           <action android:name="android.intent.action.PACKAGE_ADDED" />                        
           <data android:scheme="package"/> 
        </intent-filter>
</receiver> 
Run Code Online (Sandbox Code Playgroud)

在8.0 Oreo之前,它可以完美工作。现在,我必须使用来使接收者明确registerReceiver。我怎样才能做到这一点?示例代码将不胜感激。

java android broadcastreceiver

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

onCreateDialog不刷新消息

我尝试创建AlertDialog.它工作但setMessage不刷新消息.以下代码段:

@Override
    protected Dialog onCreateDialog(int id) {
        super.onCreateDialog(id);
        switch (id) {
           case CONFIRM:                    
                confirmView = new LinearLayout(this);

                return new AlertDialog.Builder(this)
                        .setIcon(android.R.drawable.ic_dialog_info)
                        .setView(confirmView)
                        .setCancelable(false)
                        .setTitle("The WiFi")                      
                        .setMessage(infoMsg);
                        .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                Functionality.StartWiFiManager(ControllerService.this);
                            }
                        })                         
                        .setNegativeButton("Cancel", new OnClickListener() {                            
                            @Override
                            public void onClick(DialogInterface dialog, int which) {                                    
                            }
                        })
                        .create();  
       }
}   
Run Code Online (Sandbox Code Playgroud)

调用:

infoMsg = "My message";     
showDialog(CONFIRM); 
Run Code Online (Sandbox Code Playgroud)

因此,当我更改我的infoMsg并再次调用showDialog时,消息是相同的.我究竟做错了什么?请帮我.

android

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

LibGDX - 正确使用Polygon类

我创造Polygon了包裹我的飞机的物体(飞机的大小TextureRegion是256x74,但是在游戏中这个尺寸是70x20).所以:

TextureRegion[] texRegsAirplane = TextureRegion.split(textureAirplane, 256, 74);
Rectangle bounds = new Rectangle(0, 0, 70, 20);
Polygon polygon = new Polygon(new float[]{0,0,bounds.width,0,bounds.width,bounds.height,0,bounds.height,0,0});
Run Code Online (Sandbox Code Playgroud)

在我的update函数之后,我更新它的位置:

public void update(float delta){
    Vector2 v = getPosition();      
    v.add(velocity);
    polygon.setPosition(v.x, v.y);
}
Run Code Online (Sandbox Code Playgroud)

然后我渲染多边形以了解它的位置:

public void render(SpriteBatch spriteBatch, float pixelPerUnitX, float pixelPerUnitY){
spriteBatch.draw(testTexture,polygon.getX()*pixelPerUnitX, polygon.getY()*pixelPerUnitY, 
            polygon.getBoundingRectangle().width*pixelPerUnitX,polygon.getBoundingRectangle().height*pixelPerUnitY);
}
Run Code Online (Sandbox Code Playgroud)

最后,我创建了2架飞机,让它们相互飞行,每次迭代我都会尝试检测碰撞,如下所示:

public void detectCollision(){
    for(Airplane airplane1 : Airplanes){
        for(Airplane airplane2 : Airplanes){
            if(Intersector.overlapConvexPolygons(airplane1.getPolygon(), airplane2.getPolygon())){
                //COLLISION DON'T HAPPEN!!!
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

我看到2个矩形相互移动并相交,但overlapConvexPolygons功能不起作用!为什么?

java math collision-detection libgdx

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

URI中的百分比编码

我想知道如何转换URI:

%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%D0%BA
Run Code Online (Sandbox Code Playgroud)

??????? ????
Run Code Online (Sandbox Code Playgroud)

我知道urldecodePHP中的函数.我在Java(Android)中寻找相同的功能.有人能帮助我吗?谢谢.

java browser android httpservice

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

PHP - 将背景颜色更改为透明

我需要改变PNG图片的背景颜色(https://chart.googleapis.com/chart?cht=lxy&chd=e:AACIERGZIiKqMzO7RETMVVXdZmbud3f.iIkQmZohqqsyu7xDzM1U3d5l7u92,hhiIivfFmZZmcCY.YYZmTgdQjWd3kk6g880asfu7r4sf4E22tGtGsfzzmZj9&chds=0.0,1.0&chs=105x75&chma=1,0,1,1&chco = 42b6c9ff&chls = 2.5,1.0,0.0&chxl = 0:%7C%7C1:%7C%7C2:%7C)至透明.我使用以下代码,这在我看来是正确的:

$picture = imagecreatefrompng("https://chart.googleapis.com/chart?cht=lxy&chd=e:AACIERGZIiKqMzO7RETMVVXdZmbud3f.iIkQmZohqqsyu7xDzM1U3d5l7u92,hhiIivfFmZZmcCY.YYZmTgdQjWd3kk6g880asfu7r4sf4E22tGtGsfzzmZj9&chds=0.0,1.0&chs=105x75&chma=1,0,1,1&chco=42b6c9ff&chls=2.5,1.0,0.0&chxl=0:%7C%7C1:%7C%7C2:%7C");

$img_w = imagesx($picture);
$img_h = imagesy($picture);

imagealphablending($picture, false);        
imagesavealpha($picture, true);

$rgb =  imagecolorexact ($picture, 255,255,255);//imagecolorat($picture, 50, 50);
imagecolortransparent($picture, $rgb);

imagepng($picture, '../images/chart2.png');
imagedestroy($picture);
Run Code Online (Sandbox Code Playgroud)

我也用它imagecolorat来检测准确的颜色,但结果是一样的 - 它不起作用(背景为白色(不透明))!我的错是什么?

可能的重复:PHP:如何使图像中的绿色区域(背景)透明?PHP中的imagecolortransparent无法正常工作

php gd

3
推荐指数
2
解决办法
9359
查看次数

LibGDX - 拾色器

如何color picker在LibGDX中实现如下:

在此输入图像描述

任何帮助将不胜感激.

user-interface android opengl-es libgdx

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

LibGDX 0.9.9 - 在环境中应用立方体贴图

我正在使用LibGDX 0.9.9.我正在尝试渲染立方体贴图和雾.所以我的代码片段如下:

public void show() {
    modelBatch = new ModelBatch();
    environment = new Environment();
    environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 1.0f, 0.4f, 0.4f, 1f));

    environment.set(new ColorAttribute(ColorAttribute.Fog, 0.9f, 1f, 0f, 1f));
    environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));

    cubemap = new Cubemap(Gdx.files.internal("cubemap/pos-x.png"), 
                Gdx.files.internal("cubemap/neg-x.png"), 
                Gdx.files.internal("cubemap/pos-y.png"), 
                Gdx.files.internal("cubemap/neg-y.png"), 
                Gdx.files.internal("cubemap/pos-z.png"), 
                Gdx.files.internal("cubemap/neg-z.png"));
    environment.set(new CubemapAttribute(CubemapAttribute.EnvironmentMap, cubemap));

    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(1f, 1f, 1f);
    cam.lookAt(0,0,0);
    cam.near = 0.1f;
    cam.far = 300f;
    cam.update();

    ModelLoader loader = new ObjLoader();

    model = loader.loadModel(Gdx.files.internal("earth/earth.obj"));


    instance = new ModelInstance(model);



    NodePart blockPart = model.nodes.get(0).parts.get(0);

    renderable = …
Run Code Online (Sandbox Code Playgroud)

java android opengl-es-2.0 libgdx

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