我正在制作一个由内而外的东西。但只有最后一种颜色有效。有什么解决办法吗?

斯托基性病

所以我正在为一个学校项目制作一个场景。我正在做一个由内而外的事情。每个角色都让莱利改变了她的颜色。但只有最后一种颜色真正有效。最重要的一点就是 if 语句。这是一个python代码。我只需要其他颜色也可以显示。喜欢蓝色和红色。

    collectorsBin = Rect(240, 0, 160, 150, opacity=50, borderWidth=5, border='black')

moodCounter = Label(0, 325, 210, size=30, fill='white')

loser = Label('LOSER!!!!', 200, 200, size=50, visible=False)

redo = Line(370, 370, 160, 370, arrowEnd=True, visible=False)

rileyArea = Rect(240, 280, 160, 120, opacity=50, borderWidth=5, border='black')

anger= Group(
            Rect(200, 220, 50, 55, fill='red'),
            Rect(200, 250, 50, 25, fill='white'),
            Rect(200, 260, 50, 15, fill='brown'),
            Polygon(225, 250, 250, 240, 250, 250, 200, 250, 200, 240, 225, 250, fill='white'),
            Line(250, 250, 200, 250, opacity=10),
            Circle(212, 232, 8, fill='white'),
            Circle(238, 232, 8, fill='white'),
            Line(225, 228, 250, 225, fill='red', lineWidth=5),
            Line(225, 228, 200, 225, fill='red', lineWidth=5),
            Line(220, 243, 230, 243, lineWidth=5, fill='white'))
            
rileyFace = Circle(200, 200, 30, fill='blanchedAlmond')
rileyEyes = Group(Circle(185, 200, 10, fill='white'),
                    Circle(215, 200, 10, fill='white'))
                    
normalHair = Group(Polygon(208, 183, 190, 186, 179, 197, 175, 227, 162, 227, 162, 185, 173, 170, 191, 165),
                    Polygon(191, 165, 199, 165, 218, 172, 230, 190, 229, 210, 225, 191, 206, 182))
                    
normalHair.fill=gradient('paleGoldenrod', 'darkGoldenrod', start='left')

riley=(rileyFace, rileyEyes, normalHair)

rileyFace.centerX=315
rileyFace.centerY=350
rileyEyes.centerX=315
rileyEyes.centerY=350
normalHair.centerX=315
normalHair.centerY=350

sadness = Group(Rect(170, 210, 60, 60, fill='ivory'),
                Circle(200, 200, 30, fill='royalBlue'),
                Polygon(230, 190, 200, 180, 200, 200, 180, 220, 160, 230, 170, 180, 200, 160, 235, 187,
                fill=gradient('royalBlue', 'dodgerBlue', 'blue', start='top')),
                Circle(210, 200, 8, fill='white'),
                Line(200, 190, 220, 195, fill='royalBlue', lineWidth=8))
                
happiness = Group(Circle(200, 200, 50, fill='lightGoldenrodYellow'),
                Circle(200, 200, 50, fill='gold', opacity=50),
                Circle(223, 200, 16, fill='white'),
                 Circle(178, 200, 16, fill='white'),
                Oval(200, 228, 20, 35, fill='white', rotateAngle=70),
                Oval(197, 223, 20, 30, fill='lightGoldenrodYellow', rotateAngle=70),
                Oval(197, 223, 20, 30, fill='gold', rotateAngle=70, opacity=50),
        Polygon(156, 217, 163, 173, 192, 180, 210, 180, 200, 175, 228, 174, 250, 190, 255, 178, 252, 168, 230, 150, 200, 145,
        180, 150, 160, 152, 150, 160, 145, 185, 147, 200, fill=gradient('deepSkyBlue', 'darkBlue')),
    Rect(185, 247, 35, 75, fill='lightGoldenrodYellow'),
    Rect(185, 247, 35, 75, fill='gold'),
    Polygon(190, 247, 195, 260, 205, 260, 215, 247, 220, 247, 225, 330, 180, 330, 185, 247, fill='white'))
    
    

happiness.width/=1.5
happiness.height/=1.5

fear = Group(Polygon(200, 200, 205, 235, 215, 235, 220, 200, fill='mediumSlateBlue'),
            Circle(200, 200, 10, fill='white'),
            Circle(220, 200, 10, fill='white'),
            Oval(210, 225, 25, 15, fill='white', border='mediumSlateBlue'),
            Rect(205, 235, 10, 40, fill='white'),
            Rect(205, 275, 10, 20, fill='mediumSlateBlue'),
            Arc(221, 196, 20, 20, 300, 180, fill='mediumSlateBlue'),
            Arc(198, 198, 20, 20, 230, 180, fill='mediumSlateBlue'),
            Circle(210, 235, 3, fill='crimson'),
            Polygon(210, 235, 217, 228, 220, 237, fill='crimson'),
            Polygon(210, 235, 203, 240, 200, 230, fill='crimson'))
            
disgust = Group(Polygon(185, 225, 190, 243, 210, 243, 215, 225, fill='limeGreen'),
            Rect(190, 243, 20, 3, fill='lawnGreen'),
            Polygon(190, 246, 185, 265, 215, 265, 210, 246, fill='limeGreen'),
            Circle(200, 200, 30, fill='lightGreen'),
            Circle(185, 200, 10, fill='white'),
            Circle(215, 200, 10, fill='white'),
            Rect(175, 185, 50, 10, fill='lightGreen'),
            Polygon(200, 190, 185, 198, 175, 195, 175, 225, 163, 233, 163, 228, 170, 228, 165, 175, 193, 168, 223, 172, 233, 200, 
                    fill=gradient('lawnGreen', 'darkGreen')))
                    
disgust.centerX=36
disgust.centerY=57

happiness.centerX=39
happiness.centerY=197

fear.centerX=47
fear.centerY=327
                
sadness.centerX=120
sadness.centerY=58

anger.centerX=116
anger.centerY=189
def onMouseDrag(mouseX, mouseY):
    if(sadness.contains(mouseX, mouseY)==True):
        sadness.centerX=mouseX
        sadness.centerY=mouseY
    
    if(anger.contains(mouseX, mouseY)==True):
        anger.centerX=mouseX
        anger.centerY=mouseY
        
    if(happiness.contains(mouseX, mouseY)==True):
        happiness.centerY=mouseY
        happiness.centerX=mouseX
        
    if(fear.contains(mouseX, mouseY)==True):
        fear.centerX=mouseX
        fear.centerY=mouseY
        
    if (disgust.contains(mouseX, mouseY)==True):
        disgust.centerX=mouseX
        disgust.centerY=mouseY
        
        
        
        
def onMousePress(mouseX, mouseY):
    if (collectorsBin.containsShape(anger)==True):
        rileyEyes.fill='red'
        normalHair.fill='red'
        moodCounter.value=1
        
        
    if (collectorsBin.containsShape(anger)==False):
        normalHair.fill=gradient('paleGoldenrod', 'darkGoldenrod', start='left')
        rileyEyes.fill='white'
        moodCounter.value=0
        
    if (collectorsBin.containsShape(sadness)==True):
        rileyEyes.fill='blue'
        normalHair.fill='blue'
        moodCounter.value=1
        
    if (collectorsBin.containsShape(sadness)==False):
        normalHair.fill=gradient('paleGoldenrod', 'darkGoldenrod', start='left')
        rileyEyes.fill='white'
        moodCounter.value=0
        
        
    
    if (collectorsBin.containsShape(disgust)==True):
        rileyEyes.fill='green'
        normalHair.fill='lawnGreen'
        moodCounter.value=1
    
    if (collectorsBin.containsShape(disgust)==False):
        normalHair.fill=gradient('paleGoldenrod', 'darkGoldenrod', start='left')
        rileyEyes.fill='white'
        moodCounter.value=0
蒂姆·罗伯茨

也许您的意思是这样,我们设置了一个默认值,并且只更改需要更改的内容:

def onMousePress(mouseX, mouseY):
    eyes = 'white'
    hair = gradient('paleGoldenrod', 'darkGoldenrod', start='left')
    mood = 0
    if collectorsBin.containsShape(anger):
        eyes='red'
        hair='red'
        mood=1
        
    if collectorsBin.containsShape(sadness):
        eyes='blue'
        hair='blue'
        mood=1
    
    if collectorsBin.containsShape(disgust):
        eyes='green'
        hair='lawnGreen'
        mood=1
    
    rileyEyes.fill = eyes
    normalHair.fill = hair
    moodCounter.value = mood

如果有多个命中,只有最后一个会获胜,但你需要另一种方法来解决这个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

动态创建的范围表格,只有最后一个范围有效,为什么?

在EaselJS中添加一个阶段。一种有效,一种无效。为什么?

Qt:为什么只有qss文件中的一种样式有效

如何有效计算整个像素着色器阶段使用一种颜色的次数?

只有最后一个按钮的 onclick 有效

在循环中构建多个 SlimSelect 对象 - 只有最后一个对象有效

只有数组的最后一个元素有效

Python lxml 请求:只有最后一个 xpath 搜索有效

如何设置xlColumnClustered样式,每个栏下面只有一种颜色和值?

工作线程,具有特定“颜色”的作业,每种颜色只有一个作业必须运行,我需要什么同步原语?

只有一个媒体查询有效,但我不知道为什么

有没有办法可以把它变成一个函数或更有效的东西

创建Flask-SQLAlchemy BaseQuery对象的两种方法-只有一种有效,为什么?

每页只有一个我的 SQL 动态下拉列表有效?

只有我的第一个CSS媒体大小查询有效

以下版本几乎相同,那么为什么只有一个有效?

在.js.erb文件中,只有一种情况有效

cin和getline在一个程序中,只有其中一个有效吗?

我正在为数组开发一种基本的排序算法,尽管该解决方案有效,但我还不太了解

为什么一种方法有效,而另一种无效?

地形区域:[已弃用] 改用位置,但位置会导致另一个错误。有什么解决办法吗?

我正在编写一个非常简单的字母分级系统,if 语句是最有效的吗?

具有一种颜色的正值和另一种颜色的负值的熊猫图

条形图有多种颜色,一种在另一种之上

为什么只有最后一个输入是存储?

我的机器人的一个功能只有在我的电脑上运行时才有效

需要一种从 json 对象生成器创建一个数据帧的有效方法吗?

有一种有效的图像格式可以显示布尔值吗?

有一种更短/优雅/有效的方式来写这个吗?