荏苒追寻个人博客

做一个有追求的青年


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 日程表

博客导航

发表于 2021-08-04 | 分类于 Android

这里对博客的内容做一个导航,方便查阅:

  • Android部分
  • Java部分
阅读全文 »

Android 音视频基础——开篇

发表于 2021-01-01 | 分类于 Android , 音视频基础

简介

作为音视频的开篇文章,主要规划一下音视频学习的计划,从基础到进阶到高级使用,希望自己一步步的学习夯实基础,一步一个脚印。从音视频基础(音频采集、视频采集、Camera API的使用,音视频的转码,音视频信息的提取,MediaCodec API的使用),到音视频高级使用(编译FFmpeg、音频变声变调、视频变声变调、视频水印、视频特效),再到音视频开源库学习、音视频剪辑,最终希望自己能实现一个市面上音视频应用。

阅读全文 »

Java 设计模式——开篇

发表于 2018-03-20 | 分类于 Java , 设计模式

简介

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编程真正工程化;把简单的问题标准化、工程化、系统化,把环境中的各个部分进行抽象、归纳、解耦合。

设计共23中,分三大类:创建型模式、结构型模式和行为型模式。

阅读全文 »

Python 基础记录

发表于 2025-03-17 | 分类于 Python

摘要

本文主要记录零碎python学习中遇到的一些知识点

pip基础

pip基础命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
install                     Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
inspect Inspect the python environment.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
config Manage local and global configuration.
search Search PyPI for packages.
cache Inspect and manage pip's wheel cache.
index Inspect information available from package indexes.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
debug Show information useful for debugging.
help Show help for commands.

总之,对于pip命令有不了解的地方,建议通过运行pip help来查看。

可以通过pip install 批量安装package,命令如下:

1
pip install -r requirements.txt

requirements.txt文件格式:package_name==package_version,示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
astroid==2.0.4
atomicwrites==1.1.5
attrs==18.1.0
flake8==3.5.0
isort==4.3.4
lazy-object-proxy==1.3.1
mccabe==0.6.1
more-itertools==4.3.0
pluggy==0.7.1
py==1.5.4
pycodestyle==2.3.1
pyflakes==1.6.0
pylint==2.1.1
pytest==3.7.2
six==1.11.0
wrapt==1.10.11

Python错误

TypeError: ‘module’ object is not callable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Pepole.py
class Pepole:
name = 'Randy'
age = 18
gender = 'boy'

def __init(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender

def info():
print(self.name)

# 下面的代码尝试从别的文件中使用Pepole.py

import Pepole

if __name__ == "__main__":
peple = Pepole('Lucy', 18, 'Girl')
peple.info()

上面的代码运行时就会报TypeError: 'module' object is not callable错误,原因是,通过import People这种方式引入报,在调用内容是,需要加上相应module的前缀,即上面代码改成如下就可以正常运行了:

1
2
3
4
5
import Pepole

if __name__ == "__main__":
peple = People.Pepole('Lucy', 18, 'Girl')
peple.info()

或者

1
2
3
4
5
from People import Pepole

if __name__ == "__main__":
peple = Pepole('Lucy', 18, 'Girl')
peple.info()

这设计到Python 两种 module 导入方式:

  • import module,调用时需要加上module限定

  • from module import,调用时不需要加module限定

OSError: [Errno 9] Bad file descriptor

遇到这种错误的原因可能是多样的,在使用socket时,如果在调用socket.close

PyCharm编辑器相关

注意:当前使用的是PyCharm 2023.2.2 (Professional Edition)

Live Template

  • 代码模版使用,快捷键,cmd+,,然后搜索 Live Template,即可设置动态代码提示,如 输入main,就可以直接选择live template后就可以直接输出如下内容了:

    1
    if __name__ == "__main__":

Python packages

查看当前项目所用到的外部依赖包,具体图片如下:

Python packages

窗口包含如下信息:

  • 当前项目已经安装的包;

  • 点击具体的包,可以看到升级信息,以及包对应的文档

  • 上方的输入框可以关键字搜索PyPI 上已经存在的可用的包,十分方便;

编辑器显示空白

有时候需要查看文件中的空白(包括空格、空行、制表符等),这个时候可以通过Settings->Apperance->Show whitespaces,勾选即可显示

Python 中的类继承

假设有一个父类 Animal,子类 Dog 继承自 Animal:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Animal:
def __init__(self, name):
self.name = name

def speak(self):
print(f"{self.name} makes a sound")

class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # 调用父类的初始化方法
self.breed = breed

def speak(self):
print(f"{self.name} barks")

# 使用示例
dog = Dog("Buddy", "Golden Retriever")
dog.speak() # 输出: Buddy barks

Unity基础——杂项

发表于 2025-02-20 | 分类于 Unity

UI组件添加点击事件

主要步骤

在Unity中为Button添加点击事件可以通过以下步骤实现:

  1. 创建Button:

    • 在Unity编辑器中,右键点击Hierarchy窗口,选择UI -> Button来创建一个Button。
  2. 添加点击事件:

    • 选择创建的Button对象,在Inspector窗口中找到Button (Script)组件。
    • 展开On Click()部分,点击右下角的+号来添加一个新的点击事件。
  3. 绑定脚本和方法:

    • 将包含点击事件处理方法的游戏对象拖到None (Object)字段中。
  4. 在下拉菜单中选择要调用的方法。
    以下是一个简单的示例,展示如何在C#脚本中添加和处理Button的点击事件:

示例代码

1. 创建一个新的C#脚本

在Unity编辑器中,右键点击Project窗口中的某个文件夹,选择Create -> C# Script,命名为ButtonClickHandler。

2. 编辑脚本

双击脚本文件以在Visual Studio或其他代码编辑器中打开它,并添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using UnityEngine;
using UnityEngine.UI;
public class ButtonClickHandler : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
// 获取Button组件
Button button = GetComponent<Button>();
// 添加点击事件监听器
button.onClick.AddListener(OnButtonClick);
}
// 点击事件处理方法
void OnButtonClick()
{
Debug.Log("Button Clicked!");
}
}

3. 将脚本附加到Button

将ButtonClickHandler脚本拖到Button对象上,使其成为Button的组件之一。

4. 验证

进入Play模式,点击Button,你应该会在控制台中看到Button Clicked!的消息。
通过以上步骤,你就可以在Unity中为Button添加并处理点击事件了。


2D游戏坐标系

注意:Unity2D游戏坐标平面默认是XY的

如何生存不同鱼的动画呢

其实就是多张图片的帧动画,只要解决如何获取同一个鱼的多种心态图就可以了

未命名

发表于 2024-08-28
1
2
3
4
title: Python——Flask问题记录
categories:
- Python
abbrlink: P240828

Flask问题记录

  1. 使用PyCharm的Flask模版创建出来的项目,如果需要指定host和端口号,通过一下代码无效的:
1
app.run(host='0.0.0.0', port=5001, debug=True)

而是需要在项目的下拉菜单选择 Edit Configurations,在弹出的窗口中,在Additional Options 选项框中输入如下内容

1
--host=0.0.0.0 --port=5000

debug 模式的开启同样也是在 Edit Configurations中,有个选项框,勾上即可。

  1. flask 运行报错,提示:
1
RuntimeError: The session is unavailable because no secret key was set.

问题原因:是因为没有添加秘钥,在创建app对象后面,添加如下代码即可:

1
2
# 字符串随便起,也可以调用python的secret模块利用函数生产
app.secret_key = "affedasafafqwe

Unity游戏示例4——天天萌泡泡

发表于 2024-07-10

Unity游戏示例3——捕鱼大师

发表于 2024-07-10

Unity游戏示例2——跑酷游戏

发表于 2024-07-10

Unity游戏示例1——消消乐游戏

发表于 2024-07-10
12…22<i class="fa fa-angle-right" aria-label="下一页"></i>

216 日志
43 分类
43 标签
GitHub
© 2025 Randy Zhang
由 Hexo 强力驱动
|
主题 — NexT.Gemini v6.1.0