Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
b87dce5e
宇宙模拟器
项目概览
Python_超人
/
宇宙模拟器
通知
19
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
宇宙模拟器
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b87dce5e
编写于
12月 05, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
b409e880
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
79 addition
and
7 deletion
+79
-7
bodies/body.py
bodies/body.py
+10
-3
bodies/makemake.py
bodies/makemake.py
+1
-1
objs/obj.py
objs/obj.py
+10
-3
objs/sci_fi_space_station.py
objs/sci_fi_space_station.py
+58
-0
未找到文件。
bodies/body.py
浏览文件 @
b87dce5e
...
@@ -534,7 +534,8 @@ class Body(metaclass=ABCMeta):
...
@@ -534,7 +534,8 @@ class Body(metaclass=ABCMeta):
def
show_demo
(
self
,
size_scale
=
1000
,
def
show_demo
(
self
,
size_scale
=
1000
,
position
=
(
0
,
0
,
-
5000000
),
position
=
(
0
,
0
,
-
5000000
),
on_ready_fun
=
None
,
on_ready_fun
=
None
,
on_timer_changed_fun
=
None
):
on_timer_changed_fun
=
None
,
directional_light_pos
=
None
):
from
sim_scenes.func
import
ursina_run
from
sim_scenes.func
import
ursina_run
from
sim_scenes.func
import
camera_look_at
from
sim_scenes.func
import
camera_look_at
from
simulators.ursina.ursina_event
import
UrsinaEvent
from
simulators.ursina.ursina_event
import
UrsinaEvent
...
@@ -546,12 +547,18 @@ class Body(metaclass=ABCMeta):
...
@@ -546,12 +547,18 @@ class Body(metaclass=ABCMeta):
def
on_ready
():
def
on_ready
():
camera_look_at
(
self
)
camera_look_at
(
self
)
on_ready_fun
()
if
directional_light_pos
is
not
None
:
from
simulators.ursina.entities.entity_utils
import
create_directional_light
create_directional_light
(
position
=
directional_light_pos
,
light_num
=
3
,
target
=
self
)
if
callable
(
on_ready_fun
):
on_ready_fun
()
def
on_timer_changed
(
time_data
):
def
on_timer_changed
(
time_data
):
on_timer_changed_fun
(
time_data
)
on_timer_changed_fun
(
time_data
)
if
callable
(
on_ready_fun
):
if
callable
(
on_ready_fun
)
or
directional_light_pos
is
not
None
:
UrsinaEvent
.
on_ready_subscription
(
on_ready
)
UrsinaEvent
.
on_ready_subscription
(
on_ready
)
if
callable
(
on_timer_changed_fun
):
if
callable
(
on_timer_changed_fun
):
...
...
bodies/makemake.py
浏览文件 @
b87dce5e
...
@@ -67,5 +67,5 @@ class Makemake(Body):
...
@@ -67,5 +67,5 @@ class Makemake(Body):
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
makemake
=
Makemake
()
makemake
=
Makemake
()
makemake
.
show_demo
()
makemake
.
show_demo
(
directional_light_pos
=
(
200
,
0
,
-
300
)
)
print
(
makemake
)
print
(
makemake
)
objs/obj.py
浏览文件 @
b87dce5e
...
@@ -487,7 +487,8 @@ class Obj(metaclass=ABCMeta):
...
@@ -487,7 +487,8 @@ class Obj(metaclass=ABCMeta):
def
show_demo
(
self
,
size_scale
=
10000
,
def
show_demo
(
self
,
size_scale
=
10000
,
position
=
(
0
,
3000000
,
-
9000000
),
position
=
(
0
,
3000000
,
-
9000000
),
on_ready_fun
=
None
,
on_ready_fun
=
None
,
on_timer_changed_fun
=
None
):
on_timer_changed_fun
=
None
,
directional_light_pos
=
None
):
from
sim_scenes.func
import
ursina_run
from
sim_scenes.func
import
ursina_run
from
sim_scenes.func
import
camera_look_at
from
sim_scenes.func
import
camera_look_at
from
simulators.ursina.ursina_event
import
UrsinaEvent
from
simulators.ursina.ursina_event
import
UrsinaEvent
...
@@ -498,12 +499,18 @@ class Obj(metaclass=ABCMeta):
...
@@ -498,12 +499,18 @@ class Obj(metaclass=ABCMeta):
def
on_ready
():
def
on_ready
():
camera_look_at
(
self
)
camera_look_at
(
self
)
on_ready_fun
()
if
directional_light_pos
is
not
None
:
from
simulators.ursina.entities.entity_utils
import
create_directional_light
create_directional_light
(
position
=
directional_light_pos
,
light_num
=
3
,
target
=
self
)
if
callable
(
on_ready_fun
):
on_ready_fun
()
def
on_timer_changed
(
time_data
):
def
on_timer_changed
(
time_data
):
on_timer_changed_fun
(
time_data
)
on_timer_changed_fun
(
time_data
)
if
callable
(
on_ready_fun
):
if
callable
(
on_ready_fun
)
or
directional_light_pos
is
not
None
:
UrsinaEvent
.
on_ready_subscription
(
on_ready
)
UrsinaEvent
.
on_ready_subscription
(
on_ready
)
if
callable
(
on_timer_changed_fun
):
if
callable
(
on_timer_changed_fun
):
...
...
objs/sci_fi_space_station.py
0 → 100644
浏览文件 @
b87dce5e
# -*- coding:utf-8 -*-
# title :空间站
# description :空间站
# author :Python超人
# date :2023-02-11
# link :https://gitcode.net/pythoncr/
# python_version :3.8
# ==============================================================================
from
objs.obj
import
Obj
class
ScifiSpaceStation
(
Obj
):
"""
空间站
"""
def
__init__
(
self
,
name
=
"空间站"
,
mass
=
5.97237e24
,
init_position
=
[
0
,
0
,
0
],
init_velocity
=
[
0
,
0
,
0
],
texture
=
"texture_space_station_02.jpg"
,
size_scale
=
1.0
,
distance_scale
=
1.0
,
ignore_mass
=
False
,
density
=
1e3
,
color
=
(
7
,
0
,
162
),
trail_color
=
None
,
show_name
=
False
,
model
=
"sci_fi_space_station.obj"
,
rotation
=
(
0
,
0
,
0
),
parent
=
None
,
gravity_only_for
=
[]):
params
=
{
"name"
:
name
,
"mass"
:
mass
,
"init_position"
:
init_position
,
"init_velocity"
:
init_velocity
,
"density"
:
density
,
"color"
:
color
,
"texture"
:
texture
,
"size_scale"
:
size_scale
,
"distance_scale"
:
distance_scale
,
"ignore_mass"
:
ignore_mass
,
"trail_color"
:
trail_color
,
"show_name"
:
show_name
,
"parent"
:
parent
,
"rotation"
:
rotation
,
"gravity_only_for"
:
gravity_only_for
,
"model"
:
model
}
super
().
__init__
(
**
params
)
if
__name__
==
'__main__'
:
sci_fi_space_station
=
ScifiSpaceStation
(
size_scale
=
1000
)
print
(
sci_fi_space_station
)
def
on_timer_changed
(
time_data
):
sci_fi_space_station
.
planet
.
rotation_z
+=
0.1
sci_fi_space_station
.
show_demo
(
size_scale
=
1000
,
position
=
[
0
,
0
,
-
10000000
],
on_timer_changed_fun
=
on_timer_changed
,
directional_light_pos
=
(
200
,
0
,
-
300
))
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录