如果您对cocos2dx抗锯齿问题感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于cocos2dx抗锯齿问题的详细内容,我们还将为您解答cocoscreator帧率的相关问题
如果您对cocos2dx抗锯齿问题感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于cocos2dx抗锯齿问题的详细内容,我们还将为您解答cocos creator 帧率的相关问题,并且为您提供关于
- cocos2dx抗锯齿问题(cocos creator 帧率)
关于cocos2dx接Android sdk的一些坑 - Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x
- cocos 1px 细线抗锯齿问题[已解决]
- cocos2d js 图片锯齿问题,大坑+神坑
cocos2dx抗锯齿问题(cocos creator 帧率)
没抗锯齿效果:
打开抗锯齿效果如下:
这种效果就能满足要求了。
那么,是怎么做到的呢,其实很简单在glDrawArrays(GL_TRIANGLES,count);语句之前加入glEnable(GL_polyGON_SMOOTH);就可以了,但是效果是下图:
发现没有,右下角button出问题了。要想正常,一定要记住,打开就要关闭的道理。在glDrawArrays(GL_TRIANGLES,count);语句之后添加gldisable(GL_polyGON_SMOOTH);这样就ok了。
因为我深入研究过OpenGL es2.0 ,所以解决起来还是很轻松的,不过刚开始学es时,我去,痛苦死了。
关于cocos2dx接Android sdk的一些坑
简单说说UI线程 :在Android中,有个非常重要的家伙非常霸道,那就是UI线程。这霸道之一:不能被阻塞。 之二:系统对每一个组件的调用都从UI线程分发出去。
简单说说openGL线程:但凡cocos2dx 启动的绘制线程都是openGL线程。就这么多
任何SDK界面的调用,必须从UI线程中调用,所以需要放到主线程中。如果我们直接从GL线程中调用,轻则调用不了,重者程序蹦死。
解决办法:
得到主线程的handler,这里简单说一种,就是在onCreate中new一个静态handler。
或者new Handler(Looper.getMainLooper()),且叫mainHandler吧,
启动一个线程,
- ThreadsendThread=newThread(newRunnable(){
- publicvoidrun(){
- mainHandler.post(sendRun);
- }
- });
Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x
首先将src文件夹复制到jni文件夹,没有可以新建一个
新建两个文件Android.mk,Application.mk
Application.mk内容如下:
APP_ABI:=armeabiarmeabi-v7ax86
APP_PLATFORM:=android-8
APP_STL:=stlport_static
Android.mk内容如下:
LOCAL_PATH:=$(callmy-dir)
include$(CLEAR_VARS)
LOCAL_MODULE :=bullet_static(可随便起)
LOCAL_MODULE_FILENAME:=libbullet(可随便起)
LOCAL_C_INCLUDES:=src/(头文件位置)
(源文件,要列出所有用到的,这里用到BulletSoftBodyBulletDynamics
BulletCollisionsLinearMath)
LOCAL_SRC_FILES := src/BulletSoftBody/btSoftBody.cpp\ src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp \ src/BulletSoftBody/btSoftBodyHelpers.cpp \ src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp \ src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp \ src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp \ src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp \ src/BulletSoftBody/btDefaultSoftBodySolver.cpp \ src/BulletDynamics/Character/btKinematicCharacterController.cpp \ src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btFixedConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btGearConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp \ src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp \ src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp \ src/BulletDynamics/ConstraintSolver/btNNCGConstraintSolver.cpp \ src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp \ src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp \ src/BulletDynamics/Dynamics/btdiscreteDynamicsWorld.cpp \ src/BulletDynamics/Dynamics/btRigidBody.cpp \ src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp \ src/BulletDynamics/Vehicle/btRaycastVehicle.cpp \ src/BulletDynamics/Vehicle/btWheelInfo.cpp \ src/BulletDynamics/Featherstone/btMultiBody.cpp \ src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp \ src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp \ src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp \ src/BulletDynamics/Featherstone/btMultiBodyConstraint.cpp \ src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp \ src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp \ src/BulletDynamics/MLcpsolvers/btDantzigLCP.cpp \ src/BulletDynamics/MLcpsolvers/btMLcpsolver.cpp \ src/BulletDynamics/MLcpsolvers/btLemkeAlgorithm.cpp \ src/BulletCollision/broadphaseCollision/btAxisSweep3.cpp \ src/BulletCollision/broadphaseCollision/btbroadphaseProxy.cpp \ src/BulletCollision/broadphaseCollision/btCollisionAlgorithm.cpp \ src/BulletCollision/broadphaseCollision/btDbvt.cpp \ src/BulletCollision/broadphaseCollision/btDbvtbroadphase.cpp \ src/BulletCollision/broadphaseCollision/btdispatcher.cpp \ src/BulletCollision/broadphaseCollision/btMultiSapbroadphase.cpp \ src/BulletCollision/broadphaseCollision/btOverlappingPairCache.cpp \ src/BulletCollision/broadphaseCollision/btQuantizedBvh.cpp \ src/BulletCollision/broadphaseCollision/btSimplebroadphase.cpp \ src/BulletCollision/Collisiondispatch/btActivatingCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btBoxBoxCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btBox2dBox2dCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btBoxBoxDetector.cpp \ src/BulletCollision/Collisiondispatch/btCollisiondispatcher.cpp \ src/BulletCollision/Collisiondispatch/btCollisionObject.cpp \ src/BulletCollision/Collisiondispatch/btCollisionWorld.cpp \ src/BulletCollision/Collisiondispatch/btCollisionWorldImporter.cpp \ src/BulletCollision/Collisiondispatch/btCompoundCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btCompoundCompoundCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btConvexConcaveCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btConvexConvexAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btConvexPlaneCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btConvex2dConvex2dAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btDefaultCollisionConfiguration.cpp \ src/BulletCollision/Collisiondispatch/btEmptyCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btGhostObject.cpp \ src/BulletCollision/Collisiondispatch/btHashedSimplePairCache.cpp \ src/BulletCollision/Collisiondispatch/btInternalEdgeUtility.cpp \ src/BulletCollision/Collisiondispatch/btManifoldResult.cpp \ src/BulletCollision/Collisiondispatch/btSimulationIslandManager.cpp \ src/BulletCollision/Collisiondispatch/btSphereBoxCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btSphereSphereCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btSphereTriangleCollisionAlgorithm.cpp \ src/BulletCollision/Collisiondispatch/btUnionFind.cpp \ src/BulletCollision/Collisiondispatch/SphereTriangleDetector.cpp \ src/BulletCollision/CollisionShapes/btBoxShape.cpp \ src/BulletCollision/CollisionShapes/btBox2dShape.cpp \ src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp \ src/BulletCollision/CollisionShapes/btCapsuleShape.cpp \ src/BulletCollision/CollisionShapes/btCollisionShape.cpp \ src/BulletCollision/CollisionShapes/btCompoundShape.cpp \ src/BulletCollision/CollisionShapes/btConcaveShape.cpp \ src/BulletCollision/CollisionShapes/btConeshape.cpp \ src/BulletCollision/CollisionShapes/btConvexHullShape.cpp \ src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp \ src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp \ src/BulletCollision/CollisionShapes/btConvexpolyhedron.cpp \ src/BulletCollision/CollisionShapes/btConvexShape.cpp \ src/BulletCollision/CollisionShapes/btConvex2dShape.cpp \ src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp \ src/BulletCollision/CollisionShapes/btCylinderShape.cpp \ src/BulletCollision/CollisionShapes/btEmptyShape.cpp \ src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp \ src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp \ src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp \ src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp \ src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp \ src/BulletCollision/CollisionShapes/btpolyhedralConvexShape.cpp \ src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp \ src/BulletCollision/CollisionShapes/btShapeHull.cpp \ src/BulletCollision/CollisionShapes/btSphereShape.cpp \ src/BulletCollision/CollisionShapes/btStaticPlaneshape.cpp \ src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp \ src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp \ src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp \ src/BulletCollision/CollisionShapes/btTriangleCallback.cpp \ src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp \ src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp \ src/BulletCollision/CollisionShapes/btTriangleMesh.cpp \ src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp \ src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp \ src/BulletCollision/Gimpact/btContactProcessing.cpp \ src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp \ src/BulletCollision/Gimpact/btGImpactBvh.cpp \ src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp \ src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp \ src/BulletCollision/Gimpact/btGImpactShape.cpp \ src/BulletCollision/Gimpact/btTriangleShapeEx.cpp \ src/BulletCollision/Gimpact/gim_Box_set.cpp \ src/BulletCollision/Gimpact/gim_contact.cpp \ src/BulletCollision/Gimpact/gim_memory.cpp \ src/BulletCollision/Gimpact/gim_tri_collision.cpp \ src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp \ src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp \ src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp \ src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp \ src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp \ src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp \ src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp \ src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp \ src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp \ src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp \ src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp \ src/BulletCollision/NarrowPhaseCollision/btpolyhedralContactClipping.cpp \ src/LinearMath/btAlignedAllocator.cpp \ src/LinearMath/btConvexHull.cpp \ src/LinearMath/btConvexHullComputer.cpp \ src/LinearMath/btGeometryUtil.cpp \ src/LinearMath/btPolarDecomposition.cpp \ src/LinearMath/btQuickprof.cpp \ src/LinearMath/btSerializer.cpp \ src/LinearMath/btVector3.cpp
最后还要加上一句,表示生成静态库如果将STATIC该文SHARED则生成动态库
include$(BUILD_STATIC_LIBRARY)
然后进入命令行
进入jni所在目录
ndk-build
等待编译完成
将三个目录下的libbullet.a分别复制到cocos2dx的安装目录下的
安装目录\Cocos\frameworks\cocos2d-x\prebuilt\android\相应文件下
进入Cocos\frameworks\cocos2d-x\external
新建文件夹Bullet,在Bullet下新建prebuild-mk
将Box2D\prebuild-mk下的Android.mk复制到Bullet/prebuild-mk
修改如下3行
LOCAL_MODULE:=bullet_static
LOCAL_MODULE_FILENAME:=libbullet
LOCAL_SRC_FILES:=../../../prebuilt/android/$(TARGET_ARCH_ABI)/libbullet.a
复制头文件
将bullet3的src的所有文件复制到新建的Bullet文件下
删除不是.h的所有文件
下一步任务繁重,
将所有用到BulletCollisionBulletDynamicsBulletSoftBodyLinearMath目录下的include都加上Bullet/,可以使用Notepad++在Bullet目录搜索Bullet,并替换为Bullet/Bullet,LinearMath并替换为Bullet/LinearMath
进入Cocos\frameworks\cocos2d-x\cocos\prebuilt-mk
在Android.mk
在LOCAL_WHOLE_STATIC_LIBRARIES+=Box2d_static下面添加
LOCAL_WHOLE_STATIC_LIBRARIES+=bullet_static
$(callimport-module,Box2D/prebuilt-mk)下面添加
$(callimport-module,Bullet/prebuilt-mk)
至此已经完成编译静态库
下载地址
cocos 1px 细线抗锯齿问题[已解决]
原文链接: cocos 1px 细线抗锯齿问题[已解决]
上一篇: lottie web简单使用
下一篇: vue-cli 项目迁移到vite2 [失败]
不管是单色节点还是细长的图片, 都会有这种明显的锯齿问题
解决办法:
在细线上下, 加255,255,255,1的填充物, 并且加粗细线
也就是 2+2+2, 如果实在不能接受加粗, 可以用缩放0.5 这样看着内容区域也就是1px了, 对比如下, 可以看到2px+透明的效果还是要好不少的, 缩放也比之前的好一点
cocos2d js 图片锯齿问题,大坑+神坑
cocos2d js会有莫名其妙的图片锯齿问题,最后发现,竟然是 选择的类型问题,用cocos studio 中需要选择 ImageView,这样图片就不会有锯齿,如果选了Sprite就会出现锯齿
我们今天的关于cocos2dx抗锯齿问题和cocos creator 帧率的分享已经告一段落,感谢您的关注,如果您想了解更多关于
本文标签: