当前位置: 编程技术>移动开发
本页文章导读:
▪依据TileMap坐标系统一设定ZOrder 根据TileMap坐标系统一设定ZOrder
游戏中,我们常常要处理场景中Sprite的前后遮挡关系。
以下公式根据TileMap坐标来动态计算ZOrder,来确保正确的遮挡关系。
为了计算的高效率,使用了位移来.........
▪ 4.2 锁屏小元件亮屏时不显示边框 4.2 锁屏小部件亮屏时不显示边框
注:谨以此文表达对某大企业鸡蛋里挑骨头的作风表示强列不满!
软件需求变更是常有的事,当然有些合理,有此不合理,如何判断就见仁见智了
先上图:.........
▪ 编辑In-App Purchases 无法显示有关问题的解决 编辑In-App Purchases 无法显示问题的解决
编辑In-App Purchases, 无法显示问题的解决a. 必须在upload binary file之前b. 如果没有出现的话,估计要删除ipa商品c. 重新填写一个商品d. 回到version detail查.........
[1]依据TileMap坐标系统一设定ZOrder
来源: 互联网 发布时间: 2014-02-18
根据TileMap坐标系统一设定ZOrder
游戏中,我们常常要处理场景中Sprite的前后遮挡关系。
以下公式根据TileMap坐标来动态计算ZOrder,来确保正确的遮挡关系。
为了计算的高效率,使用了位移来代替乘法运算。
// 最小左位移
int shifting = 6;
int height = map->getMapHeight();
if (height > 512) {
// 超过2^8
shifting = 10;
}else if (height > 256) {
// 超过2^7
shifting = 9;
}else if (height > 128) {
// 超过2^6
shifting = 8;
}else if (height > 64) {
// 超过2^5
shifting = 7;
}
// 根据TileMap坐标系来确定ZOrder
_sprite->setZOrder((posTile.x + posTile.y) - (map->getMapWidth() << shifting));
[2] 4.2 锁屏小元件亮屏时不显示边框
来源: 互联网 发布时间: 2014-02-18
4.2 锁屏小部件亮屏时不显示边框
注:谨以此文表达对某大企业鸡蛋里挑骨头的作风表示强列不满!
软件需求变更是常有的事,当然有些合理,有此不合理,如何判断就见仁见智了
先上图:
先说明下,这是android4.2锁屏的界面。左边是4.2的新特性,可以添加WIDGET。
问题:唤醒屏时不应该有这个显示
首先,了解下为什么会有“这个”显示
代码在:
frameworks/base/policy/src/com/android/internal/policy/impl/keyguard/KeyguardViewStateManager.java
private Runnable mHideHintsRunnable = new Runnable() {
@Override
public void run() {
if (mKeyguardWidgetPager != null) {
mKeyguardWidgetPager.hideOutlinesAndSidePages();
}
}
};
public void showUsabilityHints() {
mMainQueue.postDelayed( new Runnable() {
@Override
public void run() {
mKeyguardSecurityContainer.showUsabilityHint();
}
} , SCREEN_ON_RING_HINT_DELAY);
mKeyguardWidgetPager.showInitialPageHints();
if (mHideHintsRunnable != null) {
mMainQueue.postDelayed(mHideHintsRunnable, SCREEN_ON_RING_HINT_DELAY);//改嘛,就在这里,SCREEN_ON_RING_HINT_DELAY 改为 0
}
}
看下实现的流程:
mKeyguardWidgetPager.hideOutlinesAndSidePages()//要去找这里.
frameworks/base/policy/src/com/android/internal/policy/impl/keyguard/KeyguardWidgetPager.java
void hideOutlinesAndSidePages() {
animateOutlinesAndSidePages(false);
}
void animateOutlinesAndSidePages(final boolean show) {
animateOutlinesAndSidePages(show, -1);
}
void animateOutlinesAndSidePages(final boolean show, int duration) {
if (mChildrenOutlineFadeAnimation != null) {
mChildrenOutlineFadeAnimation.cancel();
mChildrenOutlineFadeAnimation = null;
}
int count = getChildCount();
PropertyValuesHolder alpha;
ArrayList<Animator> anims = new ArrayList<Animator>();
if (duration == -1) {
duration = show ? CHILDREN_OUTLINE_FADE_IN_DURATION :
CHILDREN_OUTLINE_FADE_OUT_DURATION;
}
int curPage = getNextPage();
for (int i = 0; i < count; i++) {
float finalContentAlpha;
if (show) {
finalContentAlpha = getAlphaForPage(mScreenCenter, i, true);
} else if (!show && i == curPage) {
finalContentAlpha = 1f;
} else {
finalContentAlpha = 0f;
}
KeyguardWidgetFrame child = getWidgetPageAt(i);
alpha = PropertyValuesHolder.ofFloat("contentAlpha", finalContentAlpha);
ObjectAnimator a = ObjectAnimator.ofPropertyValuesHolder(child, alpha);
anims.add(a);
float finalOutlineAlpha = show ? getOutlineAlphaForPage(mScreenCenter, i, true) : 0f;
child.fadeFrame(this, show, finalOutlineAlpha, duration);
}
mChildrenOutlineFadeAnimation = new AnimatorSet();
mChildrenOutlineFadeAnimation.playTogether(anims);
mChildrenOutlineFadeAnimation.setDuration(duration);
mChildrenOutlineFadeAnimation.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
if (show) {
enablePageContentLayers();
}
}
@Override
public void onAnimationEnd(Animator animation) {
if (!show) {
disablePageContentLayers();
KeyguardWidgetFrame frame = getWidgetPageAt(mWidgetToResetAfterFadeOut);
if (frame != null && !(frame == getWidgetPageAt(mCurrentPage) &&
mViewStateManager.isChallengeOverlapping())) {
frame.resetSize();
}
mWidgetToResetAfterFadeOut = -1;
mShowingInitialHints = false;
}
updateWidgetFramesImportantForAccessibility();
}
});
mChildrenOutlineFadeAnimation.start();
}
没什么特别的,就是改了下显示的时间,把延迟改为0。
是功能是BUG,大家一看就明了。
[3] 编辑In-App Purchases 无法显示有关问题的解决
来源: 互联网 发布时间: 2014-02-18
编辑In-App Purchases 无法显示问题的解决
编辑In-App Purchases, 无法显示问题的解决
a. 必须在upload binary file之前
b. 如果没有出现的话,估计要删除ipa商品
c. 重新填写一个商品
d. 回到version detail查看,是否有In-app purchase购买的选项
f. 正常情况下会出现编辑In-App Purchases选择框,选中所有的商品,点击完成;
f. 设置成ready to upload binary file
g. 回到xcode打包验证后上传到appstore等待审核
编辑In-App Purchases, 无法显示问题的解决
a. 必须在upload binary file之前
b. 如果没有出现的话,估计要删除ipa商品
c. 重新填写一个商品
d. 回到version detail查看,是否有In-app purchase购买的选项
f. 正常情况下会出现编辑In-App Purchases选择框,选中所有的商品,点击完成;
f. 设置成ready to upload binary file
g. 回到xcode打包验证后上传到appstore等待审核
最新技术文章: