<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/pshebing</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pshebing]]></copyright><item><title><![CDATA[代码中编辑AnimationPlayer之属性、方法]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/107315882</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/107315882</guid><author>pshebing</author><pubDate>Mon, 13 Jul 2020 14:21:30 +0800</pubDate><description><![CDATA[一般来说，添加一个AnimationPlayer的子节点，然后通过编辑器编辑动画，几乎可以满足所有需求，但是如果需要在代码中编辑，可以通过如下形式实现：

  新建一个场景，跟节点为Node2D，新增一个Sprite字节点重命名为Sp，脚本如下：


extends Node2D

# 跟节点
func _ready():
	var ap = AnimationPlayer.new()
	add_child(ap)
	var animation = Animation.new()
	var tr...]]></description><category></category></item><item><title><![CDATA[Godot 3D 人物血条实现]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/106974393</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/106974393</guid><author>pshebing</author><pubDate>Fri, 26 Jun 2020 20:49:34 +0800</pubDate><description><![CDATA[原理其实很简单，将3D模型的坐标转为屏幕坐标，然后实时更新UI（血条）即可，直接上关键代码：


func updateUI(delta):
	#Update for UI
	#人物的全局坐标
	var world_pos = global_transform.origin
	#这里的uiSize即为血条的UI控件大小
	#camera = get_viewport().get_camera() 即为当前视图的摄像头
	#通过unproject_position将3D坐标转为屏幕坐标，这里由于人物坐标位于中]]></description><category></category></item><item><title><![CDATA[Godot 旋转问题]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/106943585</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/106943585</guid><author>pshebing</author><pubDate>Wed, 24 Jun 2020 17:23:36 +0800</pubDate><description><![CDATA[在游戏场景中，有一个物体A，由一个初始朝向，此时如果附件出现敌人，那么需要改变朝向，然后做一些其它事情，比如攻击等待，这里要讨论的就是改变朝向这个动作。

2D世界：

假设A默认向右，这里可以用向量Vector2(1,0)表示其初始朝向，目标为target，则可以先计算目标方向，然后旋转到目标方向，关键代码如下：


#http://kidscancode.org/blog/2018/04/godot3_tanks_part3/
#向目标target旋转
func arm(target, delta):
]]></description><category></category></item><item><title><![CDATA[Android 外部音频策略注册流程]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/106002719</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/106002719</guid><author>pshebing</author><pubDate>Sat, 09 May 2020 11:10:45 +0800</pubDate><description><![CDATA[目录



背景

外部音频焦点策略

外部音频路由策略

背景

Android P automovie版本支持对外部音频策略的注册，主要包括二部分：外部音频焦点策略 以及 外部音频路由策略。

原因可以直接看google官方说明，大意就是针对车载系统而言，音频焦点需求更复杂 同时 音频路由相比手机版而言更简洁（简洁非简单，车载版本上，很多针对音频路由的策略基本都用不上）。

外部音频焦点策略

车载版本上，由对应的Car模块，其中与音频相关的就是CarAudioService，其中setupDynam.]]></description><category></category></item><item><title><![CDATA[仿微信、QQ类聊天消息不规则的图片效果]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/106002366</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/106002366</guid><author>pshebing</author><pubDate>Fri, 08 May 2020 17:35:07 +0800</pubDate><description><![CDATA[原理上就是通过 PorterDuff.Mode.SRC_IN 将不规则透明的背景图 与 实际图 合并得出最终效果图，直接上码：


import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterD]]></description><category></category></item><item><title><![CDATA[RTP 打包 H264视频流相关]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/54971308</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/54971308</guid><author>pshebing</author><pubDate>Fri, 08 May 2020 13:43:09 +0800</pubDate><description><![CDATA[网上相关的文章应该很多了，这里我只对其中的一些疑惑做记录，以防忘记。
h264的裸流文件是由一个一个的nalu单元（nalu头+RBSP）构成，一般都以SPS+PPS开头，类似如下：


每个nalu头均以0x00000001 或者 0x000001 开头用以区分不用的nalu单元，如下是一个h264文件的二进制格式：


可以看到以00000001开始，67就是nal头了；而nal]]></description><category></category></item><item><title><![CDATA[Window上用MINGW64基于NDK编译ffmpeg]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/56675851</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/56675851</guid><author>pshebing</author><pubDate>Fri, 08 May 2020 13:42:49 +0800</pubDate><description><![CDATA[因为window编译问题一直比较多，所以，这里我只能说一些个人遇到的坑。
1. 最好用最新的mingw，老的编译可能有一些问题
2. 关于ffmpeg是直接从官网down下来的
3. NDK的版本不一定要一致，不过路径不能出错，具体可以见编译脚本
4. 理论上来说改下ndk的路径就可以移植到linux平台，当然编译工具的目录会变比如    windows-x86_64 可能会变为 linu]]></description><category></category></item><item><title><![CDATA[Android FW启动优化说明]]></title><link>https://blog.youkuaiyun.com/pshebing/article/details/105991291</link><guid>https://blog.youkuaiyun.com/pshebing/article/details/105991291</guid><author>pshebing</author><pubDate>Fri, 08 May 2020 13:35:26 +0800</pubDate><description><![CDATA[网上关于启动优化的分析等文章应该很多了，比如启动时序、耗时统计、分析工具啥，这里就不再过多说明。本文旨在告诉你如何有效进行系统优化启动（分析版本Android P），仅供参考。

目录

Android系统正常开机时序

zygote

systemserver

  服务启动阶段（优化）

  PMS扫描（优化）

 服务就绪阶段

  用户数据解锁

  提前解锁用户数...]]></description><category></category></item></channel></rss>